【发布时间】:2014-08-26 05:21:42
【问题描述】:
这是我的问题:我正在尝试创建一个简单的程序,将高斯噪声添加到输入图像中。唯一的限制是输入图像的类型为 CV_64F(即双精度),并且值必须保持在 0 和 1 之间进行归一化。
我写的代码如下:
Mat my_noise;
my_ noise = Mat (input.size(), input.type());
randn(noise, 0, 5); //mean and variance
input += noise;
上面的代码不起作用,生成的图像无法正确显示。我认为这是因为它超出了 0,1 范围。我修改了这样的代码:
Mat my_noise;
my_ noise = Mat (input.size(), input.type());
randn(noise, 0, 5); //mean and variance
input += noise;
normalize(input, input, 0.0, 1.0, CV_MINMAX, CV_64F);
但它仍然不起作用。同样,生成的图像无法正确显示。问题出在哪里?请记住:输入图像的类型为 CV_64F,在添加噪声之前,值在 0 和 1 之间进行归一化,并且在添加噪声之后也必须保持不变。
提前谢谢你。
【问题讨论】:
标签: opencv normalization gaussian noise