- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想计算 OpticalFlow
然后显示它,但我得到了错误。我的代码:
Bitmap resultBitmap = mResultBitmaps.poll();
Imgproc.cvtColor(image, image, Imgproc.COLOR_BGR2GRAY);
Mat flow = new Mat(image.size(), CvType.CV_8UC1);
Video.calcOpticalFlowFarneback(image, Prev_image, flow,0.5,1, 1, 1, 7,1.5,1);
Utils.matToBitmap(flow, resultBitmap, true);
但是我得到这个错误:
断言失败 (src.type() == CV_8UC1 || src.type() == CV_8UC3 || src.type() == CV_8UC4) in void Java_org_opencv_android_Utils_nMatToBitmap2(JNIEnv*, jclass, jlong, jobject , bool 值)
当我调试流程时:
Mat [ 320*320*CV_32FC2, isCont=true, isSubmat=false, nativeObj=0x77dd5148, dataAddr=0x77c7e010 ]
我能做什么?
最佳答案
flow 是一个 2 channel 的 32 位 float 。正如错误所说,输入需要是 CV_8U 1、3 或 4 channel 。您需要决定如何表示 2 channel 数据。例如,拆分 channel 并使用 convertTo 将每个 channel 转换为 CV_8U 以提供两张图像。
关于android - Utils.matToBitmap 中的 src.type 断言失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23171954/
我正在尝试在 Android 上使用 OpenCV 和 Java(而不是 native )创建模板匹配功能。 我的问题是显示图像。 mattoBitmap 类(在 Java 中)有效,但是如果我想
我正在使用下面的代码来查找图像的垫子轮廓。我发现轮廓是正确的。但是,当我尝试在轮廓处裁剪图像时,应用程序崩溃了。 List contours = new ArrayList(); Mat contou
我想计算 OpticalFlow 然后显示它,但我得到了错误。我的代码: Bitmap resultBitmap = mResultBitmaps.poll(); Imgproc.cvtColor(i
我在 Eclipse 中使用更新的 willowgarage opencv 库。我想将 mat 变量转换为灰度,我已经尝试了我在网上找到的所有内容,但它们对我不起作用。 这是我的代码 package
我是一名优秀的程序员,十分优秀!