为什么OpenCV上Image Watch的结果和imshow不一样(语言-c++|开发工具-visual studio)

本人是OpenCV4初学者。想要达成对图片像素的第四个通道赋值来实现透明效果。可是为什么Image Watch上的达到了效果而imshow最后呈现的效果却没有。SOS,卡了我好久

img

img

img

img

OpenCV的imshow函数是用来在屏幕上显示图像的,而Image Watch是Visual Studio的一个调试工具,它可以用来在调试时在Visual Studio中显示图像。

这两个工具可能在显示图像时使用的颜色空间或格式不同,导致显示效果不一致。例如,Image Watch可能使用RGBA格式显示图像,而imshow函数可能使用BGR格式显示图像。

另外,若你想要实现透明效果,可以使用cv::addWeighted()函数来将两张图片叠加在一起,通过调节叠加比例来达到透明效果.

直接imshow的话,不会显示透明通道

imshow不行,你可以通过mask的方式,使用addWeighted() 将蒙版按照一定的比例显示上去