Mat的BGR和RGB问题

191 阅读1分钟

今天在写马赛克的图像代码时,发现在某种情况下,图片的颜色会被改变。

是这样的:

这是原图:

image.png

正常调用算法的时候是这样子:

image.png

当参数为0的时候:

image.png

图像会变成这种样子。分析代码:

image.png

阈值为0的时候,其实只是把图像怎么来的,又怎么传回去的,但是图像就不一样了。

后来发现,是因为cv::imread 读进来的图是RGB格式的,但是后面处理的时候我又用的BGR格式。所以只需要转换下格式就可以了。

image.png