如何用MATLAB给图片加椒盐噪声和滤噪?

如何用MATLAB给图片加椒盐噪声和滤噪?,第1张

1、打开Matlab,点击“新建脚本陆答”,如下图所示。

2、在代码编辑区输入代码,先利用Imread函数读取图像,然后使用Imshow函数将图像展示出来,以便与添加噪声后的图像做对比。

3、Matlab中利用imnoise函数可以添加各种噪声,而使用则辩“gaussian”参数就可以添加高斯噪声。

4、选择保存位置,并为m文件重命名,如下图所示所示,设置完成,点击“保存”。

5、这早盯慧样,就在Matlab中为图像添加了高斯噪声,并且把一组对比图显示在同一个窗口中,如下图所示。

给图像添拿镇加噪声的⽅慎敏如法(补充ing)1.随机修改⼀部分像素点的灰度值为指定宽启值

def noise(img,proportion=0.05):

'''

随机的修改⼀定数量像素点的灰度值

:param img:

:param proportion: 噪声点占全部像素点的⽐例

:return:

第 1 页

'''

height,width =img.shape[:2]

num = int(height*width*proportion)#多少个像素点添加噪声

for k in range(0, num):

# get the random point

xi = int(np.random.uniform(0, img.shape[1]))

xj = int(np.random.uniform(0, img.shape[0]))

首先图像最少是二维的,图像有是有长宽两个属性组成的矩阵。一维信号是向量.

MATLAB 给图像添加噪声的命令为

imnoise

该函数的基本语法为:

g=imnoise(f,type,parameters)

f为是输入图像。函数imnoise在给图像添加噪声之前,将它转换为范围[0,1]内的double类图像。指定噪声参数时必须考虑到这一点。

g=imnoise(f,'gaussian',m,var)将均值M,方差为var的高斯噪声加到图像f上,默认值为均值是0,猜搭方差是0.01的噪声。

g=imnoise(f,'localvar',V)将均值为0,局部方差为V的高斯噪声添加到图像f上,其中V是与f大小相同的一个数组,它包含了每一个点的理想方差值。

g=imnoise(f,'localvar',image_intensity,var)将

均值为0的高斯噪声添加到图像f中,其中噪声的局部方差var是图像f的亮度值的函数。参量image_intensity和var是大小相同的向

量,plot(image_intensity,var)绘制出噪声方差和图像亮度的函数关系。向量image_intensity必须包含范围在

[0,1]内的归一化亮度值。

g=imnoise(f,'salt&pepper',d)用椒盐噪声污染图像f,其中d是噪声密度(即包括噪声值的图像区域的百分比)。因此,大约有d*numel(f)个像素受到影响。默认的噪声密度为0.05。

g=imnoise(f,'speckle',var)用方程g=f+n*f)将乘性噪声添加到图像f上,其中n是均值为0,方差为var的均匀分布的随机噪声,var的默认值是0.04。

g=imnoise(f,'poisson')从数据中生成泊松噪声,而不是将人工的噪声添加

到数据中,为了遵守泊松统计,unit8和unit16类图像的亮度必须和光子的数量相符合。当每个像素的光子数量大于65535时,就要使用渗兆亩丛森双精度图像。亮度值在0到1之间变化,并且对应于光子的数量除以10e12。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11974236.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存