cecilie 发表于 2007-4-24 16:37

在图像添加噪声时出的错误

>> a=imread('cameraman.tif');
>> y=awgn(a,10);
??? Error using ==> +
Function '+' is not defined for values of class 'uint8'.
Error in ==> C:\MATLAB6p5\toolbox\comm\comm\awgn.m
On line 247==> y = sig+wgn(size(sig,1), size(sig,2), noisePower, 1, state, pMode, opType);

请问该怎么解决?

eight 发表于 2007-4-24 16:45

原帖由 cecilie 于 2007-4-24 16:37 发表
>> a=imread('cameraman.tif');
>> y=awgn(a,10);
??? Error using ==> +
Function '+' is not defined for values of class 'uint8'.
Error in ==> C:\MATLAB6p5\toolbox\comm\comm\awgn.m
On line 247   ...

改为: y = awgn(double(a), 10);

cecilie 发表于 2007-4-24 19:00

awgn 只能加噪声在2维以下的图像,那么彩色图像该怎么添加噪声?用rand?

eight 发表于 2007-4-24 19:03

原帖由 cecilie 于 2007-4-24 19:00 发表
awgn 只能加噪声在2维以下的图像,那么彩色图像该怎么添加噪声?用rand?

参考这个帖子的下标访问思想:如何对RGB图像实现基于颜色的目标提取?

cecilie 发表于 2007-4-24 19:10

八,你的意思是把每一维提取出来,然后分别加噪,再合成?

eight 发表于 2007-4-24 19:12

原帖由 cecilie 于 2007-4-24 19:10 发表
八,你的意思是把每一维提取出来,然后分别加噪,再合成?

第三维加同一个噪声

[ 本帖最后由 eight 于 2007-4-24 19:44 编辑 ]

cecilie 发表于 2007-4-24 21:17

我有点没搞懂,我把每个RGB提出来,再在三维上加同一个噪声,那不是有的点要加3遍?
页: [1]
查看完整版本: 在图像添加噪声时出的错误