如何在OpenCV中减去两个不同尺寸的图像和灰度图像

How to subtract two different size image and grayscale image in opencv

本文关键字:两个 灰度图像 图像 OpenCV      更新时间:2023-10-16

我有3个图像,我尝试减去具有相同大小尺寸并得到结果的第二张图像。接下来,我尝试减去第一张和第三张图像,第一个图像具有尺寸(2000x1000(,第三张图像具有尺寸(1200x1057(,并且有一个错误。

//! [window]
namedWindow("min", WINDOW_NORMAL);
resizeWindow("min", 1000, 500);
namedWindow("plus", WINDOW_NORMAL); 
resizeWindow("plus", 1000, 500); 
namedWindow("adf", WINDOW_NORMAL); 
resizeWindow("adf", 1000, 500);
Mat min,plus,adf;
subtract(im, im2, min);  //error 
add(im, im2, plus);
absdiff(im, im2, adf);
imshow("min", min); 
imshow("plus", plus);
imshow("adf", adf);

我尝试用相同的尺寸来取代灰度图像,我也有一个错误。有人可以向我解释为什么我会出错。

谢谢。

感谢@zdar(在评论中(,我尝试调整图像大小。要调整图像大小,

首先需要定义调整大小:

#include <opencv2/imgproc/imgproc.hpp>

 Mat Image,Temp;
 resize(Image, Temp, cvSize(Image2.size().width, Image2.size().height));
 //have same size with image2.