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中为图片加噪声的语句是:
(1)J = imnoise(I,type)
(2)J = imnoise(I,type,parameters)
其中I为原图象的灰度矩阵,J为加噪声后图象的灰度矩阵
一般情况下用(1)中敬绝察表示即可,(2)中表示是允许修改参数,而(1)中使用缺省参数
至于type可有五种,分别为'gaussian'(高斯白噪声),'localvar'(与图象灰度值有关的零均值高斯白噪声),'poisson'(泊松噪亮茄声),'salt &pepper'(椒盐噪声)和'speckle'(斑点噪声)具体(2)中参数值的设定可根据个人需要其余情况以及若还有不懂请参考Matlab帮助文件。
在此使用'salt &pepper'(椒盐噪声),并将其参数设置为0.6。其例子如下:
L = imread(‘image_ori.jpg’)
J = imnoise(L, ‘salt &pepper’, 0.6)
imshow(J)//立即d出窗口,显示加了噪声后的图片
imwrite(J, ‘image_noise.jpg’, ‘宏亏jpg’, ‘Quality’, 100)//按100%的质量存储加了噪声的图片,Quality的默认值为75.
以上程序就表示把原图像加入椒盐噪声,但注意要把图像和以上程序的M文件放在同一个子目录下。
Matlab中为图片加噪声的语句:1、J
=
imnoise(I,type)
2、J
=
imnoise(I,type,parameters)
其中,I为原图象的灰度矩阵,J为加噪声后图象的灰度矩阵;
也可庆斗以使用WGN,产生高斯白噪声;
语句如下:
1、y
=
wgn(m,n,p)
产生一纤差核个m行毁掘n列的高斯白噪声的矩阵,p以dBW为单位指定输出噪声的强度。
2、y
=
wgn(m,n,p,imp)
以欧姆(Ohm)为单位指定负载阻抗。
3、y
=
wgn(m,n,p,imp,state)
重置RANDN的状态。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)