假设我们想合并两个不一样大小的图像,由于cv::add要求输入的两个图像具有相同的尺寸,所以不能直接使用,需要在使用之前定义感兴趣区域。只要较大图像的感兴趣区域等于较小图像的大小,add就可以正常工作了。
int main()
{
cv::Mat img1 = cv::imread("boldt.jpg");
cv::Mat logo = cv::imread("logo.bmp");
cv::Mat imgROI = img1(cv::Rect(385, 270, logo.cols, logo.rows));
cv::addWeighted(imgROI, 1.0, logo, 0.5, 0., imgROI);
cv::namedWindow("with logo");
cv::imshow("with logo", img1);
cv::waitKey(0);
}
图片1:

本文介绍了如何使用OpenCV2在不相同尺寸的图像间进行操作,特别是通过定义感兴趣区域(ROI)来实现图像相加。在无法直接应用`cv::add`函数时,可以通过调整较大图像的ROI使其匹配较小图像的大小,从而实现两者的合并。此外,还讨论了直接设置像素值以改善视觉效果的方法。
最低0.47元/天 解锁文章
27万+

被折叠的 条评论
为什么被折叠?



