如何将Android中的ARGB_8888图像转换为Native OpenCV中的Mat

时间:2011-10-19 01:51:31

标签: android opencv android-ndk

我在Android中将图像加载为位图(config:ARGB_8888)。

如何使用JNI将其转换为Native OpenCV(C ++)中的cv :: Mat?

2 个答案:

答案 0 :(得分:3)

在opencv android库中有一种方法可以做到这一点。 检查org.opencv.android包。 在Utils.java中,有bitmapToMat方法,它使用自己的本机代码实现。然后你可以通过Mat.getNativeObjAddr()将Mat传递给jni。

答案 1 :(得分:1)

如果您安装了用于安装Android的opencv库,那就像isHwang所说的那样 例如:
// MatToBitmap:

Bitmap bmp = Bitmap.createBitmap(640, 480, Bitmap.Config.ARGB_8888);  
android.MatToBitmap(mat, bmp);   

// BitmapToMat

mat = android.BitmapToMat(bmp);