在opencv中保存图像的奇怪行为

时间:2012-06-10 19:54:34

标签: c++ image opencv

做了一些opencv操作后,我初始化了一个我想要使用的新图像。保存此空图像会产生奇怪的结果

enter image description here

我用来保存此图片的行是:

Mat dst2 (Size (320, 240), CV_8UC3);
imwrite("bla.jpg", dst2);

我应该得到一张黑色图片,但这就是我得到的。将这两行移到程序的开头,一切都很好 以前有人遇到过这个问题吗?

我刚注意到这些白线包含我在同一程序中处理的其他图像的部分

此致

1 个答案:

答案 0 :(得分:1)

因为你没有用任何值初始化图像,你只是定义了大小和类型,你会得到随机像素(或者不是随机的,它可能在内存中显示像素)。

使用/访问未初始化变量的概念相同。

要将图像绘制为黑色,您可以使用Mat :: setTo,docs here:

http://docs.opencv.org/modules/core/doc/basic_structures.html#mat-setto