java - 我在 android 上通过 bitmapToMat 得到了 CvException

标签 java android opencv

我正在使用适用于 Android 的 opencv。 但我从发布的 Android 应用程序中收到了相同的消息。那就是

CvException [org.opencv.core.CvException: /home/reports/ci/slave_desktop/50-SDK/opencv/modules
/java/generator/src/cpp/utils.cpp:33: error: (-215) info.format == ANDROID_BITMAP_FORMAT_RGBA_8888
|| info.format == ANDROID_BITMAP_FORMAT_RGB_565 in function void
Java_org_opencv_android_Utils_nBitmapToMat2(JNIEnv*, jclass, jobject, jlong, jboolean)]
    at org.opencv.android.Utils.nBitmapToMat2(Native Method)
    at org.opencv.android.Utils.bitmapToMat(Utils.java:93)
    at org.opencv.android.Utils.bitmapToMat(Utils.java:102)

我不知道出了什么问题以及如何解决它。 请告诉我。

最佳答案

您的输入位图似乎不是 4 字节 8888 格式或 2 字节 565 格式,因此您需要查看如何创建位图。

它是从文件加载还是通过android相机加载?

在某些设备中,从相机获取的位图为 YUV 格式,因此您需要先转换为 RGBA。

关于java - 我在 android 上通过 bitmapToMat 得到了 CvException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22043430/

相关文章:

c - OpenCV 2.3 中的 cvaux230d.lib 在哪里?

python - python脚本不会停止

java - 由于使用两个消息驱动器Bean更新同一表而导致的超时导致事务结束

java - Enum实现部分业务逻辑的能力

android - 无法在 appCompatActivity 中启动 Activity

android MaterialDialog 未关闭

optimization - 使用CMake编译openCV:设置架构和优化标志

Java 正则表达式 : X. Y.Z.A

java - Guava 缓存/可配置驱逐/缓冲区替换策略

android - Ant 自定义构建和 ProGuard