OpenCV比较错误:输入参数的大小不匹配

sbdsn5lh  于 2023-02-05  发布在  其他
关注(0)|答案(1)|浏览(243)

我试着用opencv提供的函数(compare())比较两张黑白图像,一开始我声明了一些变量,然后我就像opencv的文档一样比较黑白图像,最后我只计算置信度,但是每次我运行m程序时,我都得到这个错误:

OpenCV: terminate handler is called! The last OpenCV error is:
OpenCV(4.3.0) Error: Sizes of input arguments do not match (The operation is neither 'array op array' (where arrays have
 the same size and the same type), nor 'array op scalar', nor 'scalar op array') in compare, file C:\OpenCV\opencv\sourc
es\modules\core\src\arithm.cpp, line 1228

下面是我的代码:

Mat img2 = cv::imread("...");
Mat result;
Capture >>img1;
cv::compare(img1, img2, result, cv::CMP_EQ);
enter code here
nr7wwzry

nr7wwzry1#

但是这个错误非常冗长,甚至文档(https://docs.opencv.org/2.4/modules/core/doc/operations_on_arrays.html,不是真的version from tag,但应该不相关)也说:* src1和src2大小相同时两个数组的元素:*
我相信你可以调整第二张图片的大小,以匹配第一张图片的大小:但不确定这种比较是否适合您。
可以按如下方式检查Mat的大小:

Mat img2 = cv::imread("...");
int rows = M.rows;
int cols = M.cols;

顺便说一下,您用OpenCV3.1标记了这个问题,但在错误消息中我们可以看到4.3.0。您确定您使用的是正确的版本吗?

相关问题