24小时热门版块排行榜    

查看: 1775  |  回复: 7

xiashaoyan

新虫 (正式写手)

[求助] g = imnoise(I,type,paramenters)中I必须是double类型的数据吗? 已有1人参与

看到数字图像处理的MATLAB实现,里面说到g = imnoise(I,type,paramenters)用法,
书上说:函数imnoise在为图像添加噪声之前,将图像转换为范围为【0,1】的double类型。确定噪声参数时必须考虑到这一点。例如:将均值为64,方差为400的高斯噪声添加到一副uint8图像上,我们将均值标度为64/255,400/255^2,作为imnoise函数的输入。
      上面说到将图像转换为范围为【0,1】的double类型是什么意思呢?是指输入图像I必须是double类型吗?还有为什么是【0,1】的范围而不是其他范围呢?
如果是double类型后面为什么举了个给uint8类型图像加噪声呢?再者,给上面uint8类型加噪声,64/255,400/255^2我感觉像是归一化,但是为什么64要除以255,400除以255^2,为什么不是400除以255呢?

Sample Text
现在我用imnoise做了一些测试,感到疑惑?
当I为uint8l数据时,我用g = imnoise(I,‘gaussian’,0.0.01)时,得到图2,但是当把I转换成double数据是,再用g = imnoise(I,‘gaussian’,0.0.01)时,就编程图3了,从这个对比来看,似乎图2加噪的方式是对的,图3的值编程【0-1】范围,看不到图像的细节了。
所以我疑惑的问题是,g = imnoise(I,type,paramenters)中,输入的I的类型是double还是uint8,针对我的测试,那种测试时对的呢

g = imnoise(I,type,paramenters)中I必须是double类型的数据吗?
图1:I.jpg


g = imnoise(I,type,paramenters)中I必须是double类型的数据吗?-1
图2:I为uint8类型时-加高斯噪声后的图像.jpg


g = imnoise(I,type,paramenters)中I必须是double类型的数据吗?-2
图3:I为double类型时-加高斯噪声后的图像.jpg
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bluesine

铁杆木虫 (职业作家)

科苑小木虫

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
xiashaoyan: 金币+5 2015-10-24 22:35:43
Help imnoise,doc里面
I can be of class uint8, uint16, or double. The output image J is of the same class as I. If I has more than two dimensions it is treated as a multidimensional intensity image and not as an RGB image.
板凳要做十年冷文章不发一个字
2楼2015-10-23 13:56:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

feixiaolin

荣誉版主 (文坛精英)

优秀版主

[0, 1]叫作归一化图像;uint8对应的[0, 255]灰度才是可以正常显示【观察】的图像。二者可以转换。
3楼2015-10-23 14:19:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiashaoyan

新虫 (正式写手)

引用回帖:
3楼: Originally posted by feixiaolin at 2015-10-23 14:19:35
叫作归一化图像;uint8对应的灰度才是可以正常显示【观察】的图像。二者可以转换。

【0,1】应该是指参数要归一化,不是指图像的归一化,我查了一下help,但是现在不理解的是,为什么参数归一化时,均值要64/255,方差400/255^2?
4楼2015-10-23 15:31:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiashaoyan

新虫 (正式写手)

引用回帖:
2楼: Originally posted by bluesine at 2015-10-23 13:56:32
Help imnoise,doc里面
I can be of class uint8, uint16, or double. The output image J is of the same class as I. If I has more than two dimensions it is treated as a multidimensional intensity image a ...

现在我理解一点了,但是为什么参数归一化时,均值要64/255,方差400/255^2?
5楼2015-10-23 15:32:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

feixiaolin

荣誉版主 (文坛精英)

优秀版主

引用回帖:
5楼: Originally posted by xiashaoyan at 2015-10-23 15:32:07
现在我理解一点了,但是为什么参数归一化时,均值要64/255,方差400/255^2?...

255<----->1
64<------->64/255
y=x/a    sigam_y=sigma_x/a^2
6楼2015-10-23 17:33:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiashaoyan

新虫 (正式写手)

引用回帖:
6楼: Originally posted by feixiaolin at 2015-10-23 17:33:54
255<----->1
64<------->64/255
y=x/a    sigam_y=sigma_x/a^2...

你说的这个我知道,但是这里为什么a=255,y=x/a,sigam_y=sigma_x/a^2,为什么不是sigam_y=sigma_x/a呢?
7楼2015-10-24 22:35:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

feixiaolin

荣誉版主 (文坛精英)

优秀版主

引用回帖:
7楼: Originally posted by xiashaoyan at 2015-10-24 22:35:29
你说的这个我知道,但是这里为什么a=255,y=x/a,sigam_y=sigma_x/a^2,为什么不是sigam_y=sigma_x/a呢?...

方差就这关系。
8楼2015-10-24 23:34:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xiashaoyan 的主题更新
信息提示
请填处理意见