我想通过 jni 将位图从我的 android 类传递到我的 native c++ 类,然后在另一端执行 opencv 处理。
我不明白如何使用 getPixels 之类的方法准备数据以进入 byte[] 数组。我需要考虑 RGB 吗?
最佳答案
您必须将 Bitmap
转换为 Mat
。 org.opencv.android.Utils
具有效用转换方法的类。它以Bitmap
作为ARGB_8888
或RGB_565
类型的参数。
import org.opencv.android.Utils;
private void convertToMat(Bitmap bitmap){
Mat mat = new Mat();
Bitmap bmp32 = bitmap.copy(Bitmap.Config.ARGB_8888, true);
Utils.bitmapToMat(bmp32, mat);
}
这只是一种方式。查看This thread更多。谢谢
关于java - 准备位图 byte[] 数据以传递给 jni,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48133502/