【问题标题】:How do I convert ARGB_8888 image in Android to a Mat in Native OpenCV如何将 Android 中的 ARGB_8888 图像转换为 Native OpenCV 中的 Mat
【发布时间】:2011-10-25 23:33:03
【问题描述】:

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

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

【问题讨论】:

    标签: android opencv android-ndk


    【解决方案1】:

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

    【讨论】:

    • 如何从这里再次将其转换为 C++ 中的本机 cv::Mat?
    【解决方案2】:

    如果您安装了适用于 android 的 opencv 库,请按照 isHwang 所说的进行操作。
    示例:
    // MatToBitmap:

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

    // BitmapToMat

    mat = android.BitmapToMat(bmp);
    

    【讨论】:

      猜你喜欢
      • 2014-09-22
      • 1970-01-01
      • 1970-01-01
      • 2012-10-19
      • 2020-09-15
      • 2017-02-10
      • 1970-01-01
      • 1970-01-01
      • 2013-08-07
      相关资源
      最近更新 更多