我正在尝试使用带有 Java 的 OpenCV(而不是本机)在 Android 上创建模板匹配函数。
我的问题是显示图像。mattoBitmap类有效(在 Java 中),但如果我想转换模板匹配函数的结果,我会FATAL EXCEPTION
在调用该Utils.matToBitmap
函数时得到一个。
下面是相关代码:
void TemplateMatch() {
mFind = new Mat(256, 192, CvType.CV_8UC4);
Input = new Mat(256, 192, CvType.CV_8UC4);
mResult = new Mat(217, 153, CvType.CV_8UC4); // (bmp2 size is 40)
Utils.bitmapToMat(bmp2, mFind);
Utils.bitmapToMat(bmp1, Input);
Imgproc.matchTemplate(mFind, Input, mResult, Imgproc.TM_SQDIFF);
bmp3 = Bitmap.createBitmap(mResult.cols(), mResult.rows(), conf);
Utils.matToBitmap(mResult, bmp3);
iv2.setImageBitmap(bmp3);
}
据我所知,mResult 的大小在创建时并不重要,因为它是由模板匹配函数随后设置的。
在将mResult mat转换为bmp之前,是否需要将其转换为某种东西?
我需要先将bmp转换为某种东西,然后才能将 mat 转换为它吗?