gpt4 book ai didi

c++ - 为什么图像没有合并

转载 作者:太空宇宙 更新时间:2023-11-03 22:01:01 25 4
gpt4 key购买 nike

我正在尝试在下面的代码中混合 2 张图像

Mat input = imread ("E:\\img1.jpg");
Mat image;
Mat img12=imread("D:\\vig.png",-1); // load 'as is', don't convert to bgr !!
Mat ch[4];
split(img12,ch);
Mat im2 = ch[3]; // here's the vignette
im2 = 255 - im2;
im2.convertTo(im2 , input.type());
resize(im2,image,Size(input.rows,input.cols));
blending_overlay(image , input , image);
imshow ("image",image);
waitKey();

img12 的不同操作是因为它的形状,代码给了我

的运行时错误

enter image description here

最佳答案

正如@berak 评论的那样,您没有使用 cv::Size正确地,其第一个参数是 width,第二个参数是 height(而不是相反)。

改变

resize(im2, image, Size(input.rows, input.cols));

resize(im2, image, Size(input.cols, input.rows));

更新:您还需要处理传入函数 blending_overlayimage。它只有一个 channel ,但您正试图从它访问其他 channel :

float target = (float)img1.at<uchar>(i, 3*j+c)/255.0 ; // img1 = image here

关于c++ - 为什么图像没有合并,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23564026/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com