【问题标题】:In Android with opencv, to convert BitmapToMat is efficient way to convert mat image or any other possibilities to convert Mat image?在带有opencv的Android中,转换BitmapToMat是转换mat图像的有效方法还是转换Mat图像的任何其他可能性?
【发布时间】:2015-11-23 06:30:37
【问题描述】:

我正在使用 opencv android 转换 BitmapToMat 图像。当我将 Mat 图像从 android 传递给本机代码 (c++) 时,图像通道发生了变化。 我们直接传递 Mat 图像而不进行转换(bitmaptomat),图像通道保持不变。

还有其他有效的方法可以将图像从 android 传递到本机 c++。 有没有使用 OpenGL ES 的可能性.. 谢谢

【问题讨论】:

    标签: android c++ opencv native


    【解决方案1】:

    您可以通过将 Bitmap 的字节直接传递给 C++ 来实现: 在 java 中: 声明你的本地方法

    public native void bmpToJNI(byte[] myArray);
    
    Bitmap bmp;
    ByteArrayOutputStream stream = new ByteArrayOutputStream();
    bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
    byte[] byteArray = stream.toByteArray();
    

    在 C++ 文件中,方法的声明:

    JNIEXPORT void JNICALL Java_your_package_your_activity_bmpToJNI( JNIEnv* env,jobject thiz, jbyteArrayarray) {...}
    

    不过,你能准确地说出频道的变化方式吗?

    【讨论】:

    • 在客户端服务器通信字节数组是有效的传递方式。请证明...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-15
    • 1970-01-01
    • 2020-05-24
    • 2014-09-22
    • 1970-01-01
    • 2012-01-17
    相关资源
    最近更新 更多