首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >噪声高斯噪声澄清

噪声高斯噪声澄清
EN

Stack Overflow用户
提问于 2013-11-18 23:19:07
回答 1查看 808关注 0票数 3

让我们考虑一个3x3像素的图像,现在的值如下所示,如果我应用imnoise函数(MATLAB图像处理工具箱),高斯噪声均值为0,标准差为0,我得到的结果都是1

具有双旋进数据类型的原始矩阵

代码语言:javascript
复制
16    32     64                      
96    128    192                    
224   100    50  

应用具有0均值和0标准差的高斯噪声后的最终矩阵

代码语言:javascript
复制
1 1 1
1 1 1
1 1 1

据我所知,标准差为0的0均值与添加到原始图像上的噪声的0%是一样的。我想知道MATLAB中的imnoise函数是如何工作的。

EN

回答 1

Stack Overflow用户

发布于 2013-11-18 23:59:40

对于高斯图像,imnoise假设图像是范围为0,1的双精度图像。

看看代码中输入图像是如何处理的。如果您在命令行中输入edit imnoise.m,您应该能够看到这一点-它发生在imnoise内的ParseInputs函数下(在我的版本中,第188行更高)。

如果输入图像不是使用im2double (自动缩放)转换为double的double→,则存储输入类(以便可以在末尾转换回输出)。

如果输入图像是不转换的double→,只需使用a = max(min(a,1),0)裁剪到0 1即可。因此,当所有值都大于1时,您的示例将被简单地裁剪为1矩阵。

这(使用您的示例数据)将执行您预期的操作:

代码语言:javascript
复制
I2 = imnoise(uint8(I),'gaussian',0,0);

更一般地说,这不是图像处理工具箱中唯一一个在doubles没有0,1范围时返回意外结果的函数。如果要以双倍格式工作,im2double会自动从其他数据类型重新调整比例,也可以手动重新调整比例。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20051292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档