24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1925  |  回复: 20

全全fly

新虫 (小有名气)

[求助] 如何用MATLAB的‘’poissrnd"给像素范围是【0,1】的图像加泊松噪音?已有1人参与

如何用MATLAB的‘’poissrnd"给像素范围是【0,1】的图像加泊松噪音?谢谢!
回复此楼
我啥都不懂
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

acalephs

捐助贵宾 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
1 如果你希望全图的lamada为同一个值
如果图像为picture_without_noise(大小为m*n),并且像素范围[0 1]的数据类型是double,根据imnoise的想法
CODE:
noise_Poiss = poissrnd(lamda*1e12,m,n)./1e12;
picture_with_noise=picture_without_noise+noise_Poiss ;

2 如果你希望全图的lamada根据原始图变化,建议用imnoise试试,我这个没试过。。。。
CODE:
noise_Poiss_Change  = imnoise(picture_without_noise,'poisson') ;
picture_with_noise_Change=picture_without_noise+noise_Poiss_Change  ;

2楼2015-01-19 16:58:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

全全fly

新虫 (小有名气)

引用回帖:
2楼: Originally posted by acalephs at 2015-01-19 16:58:00
1 如果你希望全图的lamada为同一个值
如果图像为picture_without_noise(大小为m*n),并且像素范围的数据类型是double,根据imnoise的想法

noise_Poiss = poissrnd(lamda*1e12,m,n)./1e12;
picture_with_noise= ...

请教一下第一个CODE中的1e12指的是什么呢?谢谢
我啥都不懂
3楼2015-01-20 09:09:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

acalephs

捐助贵宾 (著名写手)

引用回帖:
3楼: Originally posted by 全全fly at 2015-01-20 09:09:40
请教一下第一个CODE中的1e12指的是什么呢?谢谢...

poissrnd只能生成满足随机分布的整数,比如说随机生成5个数,只能是【1 3 7 2 4】这种整数,如果要在0~1,就要先放大1e12倍(放大倍数和数据类型有关,详见matlab 的help中关于imnoise的poisson参数说明,至于取这个精度的原因没想明白。。。你再问问别人),之后再缩回去
4楼2015-01-20 10:42:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

全全fly

新虫 (小有名气)

引用回帖:
4楼: Originally posted by acalephs at 2015-01-20 10:42:37
poissrnd只能生成满足随机分布的整数,比如说随机生成5个数,只能是【1 3 7 2 4】这种整数,如果要在0~1,就要先放大1e12倍(放大倍数和数据类型有关,详见matlab 的help中关于imnoise的poisson参数说明,至于取这 ...

刚才用MATALB 实验了一下
noise_Poiss = poissrnd(5*1e12,255,255)./1e12;
这样出来的结果矩阵的元素全是双精度的5,感觉不对呢
我啥都不懂
5楼2015-01-20 22:02:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

acalephs

捐助贵宾 (著名写手)

引用回帖:
5楼: Originally posted by 全全fly at 2015-01-20 22:02:46
刚才用MATALB 实验了一下
noise_Poiss = poissrnd(5*1e12,255,255)./1e12;
这样出来的结果矩阵的元素全是双精度的5,感觉不对呢...

hist(noise_Poiss )看一下,是显示精度不足吧。用format long;max(noise_Poiss() min(noise_Poiss()再看一下,最大、小值好像是不同的,以前好像试过,记不太清了
6楼2015-01-20 23:04:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

acalephs

捐助贵宾 (著名写手)

【答案】应助回帖

引用回帖:
5楼: Originally posted by 全全fly at 2015-01-20 22:02:46
刚才用MATALB 实验了一下
noise_Poiss = poissrnd(5*1e12,255,255)./1e12;
这样出来的结果矩阵的元素全是双精度的5,感觉不对呢...

hist(noise_Poiss )看一下,是显示精度不足吧。用
CODE:
format long;
max(noise_Poiss(:))
min(noise_Poiss(:))

再看一下,最大、小值好像是不同的,以前好像试过,记不太清了
7楼2015-01-20 23:08:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

全全fly

新虫 (小有名气)

引用回帖:
7楼: Originally posted by acalephs at 2015-01-20 23:08:41
hist(noise_Poiss )看一下,是显示精度不足吧。用
format long;
max(noise_Poiss()
min(noise_Poiss()
再看一下,最大、小值好像是不同的,以前好像试过,记不太清了...

不行,最大值和最小值都是一样的,我感觉也就是此种方法行不通
我啥都不懂
8楼2015-01-22 20:43:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

全全fly

新虫 (小有名气)

是不是用poissrnd生成一组数据然后在【0,1】某个范围内作投影,感觉应该是这样。。。poissrnd的第一个变量是lamda
我啥都不懂
9楼2015-01-22 20:45:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

acalephs

捐助贵宾 (著名写手)

【答案】应助回帖

引用回帖:
8楼: Originally posted by 全全fly at 2015-01-22 20:43:13
不行,最大值和最小值都是一样的,我感觉也就是此种方法行不通...

。。。
如何用MATLAB的‘’poissrnd"给像素范围是【0,1】的图像加泊松噪音?
10楼2015-01-22 22:07:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 全全fly 的主题更新
信息提示
请填处理意见