c-显示时图像改变形状
作者:互联网
我正在尝试显示此图像,因为我的目录中有此图像
但是我用这段代码显示它
Mat img=imread("D:\\vig.png");
imshow("image",img);
waitKey();
imwrite("D:\\img.jpg",img);
相同的图像显示如下
它出什么问题了
解决方法:
您的小插图仅位于alpha [4th]通道中,并且看起来像是倒置的(此处为不透明度值).
(您的第一张图片似乎显示了带有白色图像(或背景)的适当Alpha合成图像,该图像可能来自photoshop等.)
Mat img=imread("vig.png",-1); // load 'as is', don't convert to bgr !!
Mat ch[4];
split(img,ch);
Mat im2 = ch[3]; // here's the vignette
// im2 = 255 - im2; // eventually cure the inversion
imshow("image",im2);
waitKey();
imwrite("img.jpg",im2);
再次注意,opencv不会进行任何alpha合成,您必须为此滚动自己的公式.
标签:c,opencv,image,image-processing,computer-vision 来源: https://codeday.me/bug/20191011/1895553.html