opencv图像去噪,opencv python 高斯滤波
本文主要介绍python使用opencv给图像添加噪声(高斯/椒盐/泊松/斑点),有一定的学习价值。有需要的朋友可以参考一下。希望对你有帮助。
00-1010 1、高斯噪声2、椒盐噪声3、泊松噪声4、斑点噪声导读:
这篇文章主要介绍如何利用opencv来对图像添加各类噪声,原图:
目录
高斯噪声是在一张图片上添加一个服从高斯分布的噪声,噪声添加的程度可以通过调整高斯分布的标准差(sigma)来控制。sigma越大,加入的噪点越多,图片受损越严重。
#阅读图片
img=cv2.imread(demo.png )
#设置高斯分布的均值和方差
平均值=0
#设置高斯分布的标准偏差
西格玛=25
#根据均值和标准差,按照高斯分布生成噪声。
gauss=np.random.normal(mean,sigma,(img_height,img_width,img_channels))
#给图片添加高斯噪声
noisy _ img=图像高斯
#为图片添加高斯噪声后,设置像素值的范围。
noise _ img=NP . clip(noise _ img,a_min=0,a_max=255)
#保存图片
cv2 . im write( noise_img . png ,noise _ img)
1、高斯噪声
椒盐噪声是指在一张图片上添加黑白噪声。胡椒是指黑噪音(0,0,0),盐是指白噪音(255,255,255)。通过设置数量,可以控制添加噪波的比例。值越大,加入的噪点越多,图像受损越严重。
#阅读图片
img=cv2.imread(demo.png )
#设置添加椒盐噪声的数量比例。
s_vs_p=0.5
#设置添加噪声的图像像素数量。
金额=0.04
noisy _ img=np.copy(图片)
#添加盐噪声
num _ salt=NP . ceil(amount * image . size * s _ vs _ p)
#设置添加噪声的坐标位置。
coords=[np.random.randint(0,i - 1,int(num _ salt))for I in image . shape]
noise _ img[coords]=255
#添加胡椒噪声
num _ pepper=NP . ceil(amount * image . size *(1。- s_vs_p))
#设置添加噪声的坐标位置。
coords=[np.random.randint(0,i - 1,int(num _ pepper))for I in image . shape]
noise _ img[coords]=0
#保存图片
cv2 . im write( noise_img . png ,noise _ img)
2、椒盐噪声
#阅读图片
img=cv2.imread(demo.png )
#计算图像像素的分布范围
vals=len(np.unique(image))
vals=2 ** np.ceil(np.log2(vals))
#给图片添加泊松噪声
noise _ img=NP . random . poisson(image * vals)/float(vals)
#保存图片
cv2 . im write( noise_img . png ,noise _ img)
3、泊松噪声
#阅读图片
img=cv2.imread(demo.png )
#随机生成服从分布的噪声
gauss=NP . random . randn(img _ height,img_width,img_channels)
#为图片添加斑点噪声
noisy _ img=图像图像*高斯
#归一化图像的像素值
noise _ img=NP . clip(noise _ img,a_min=0,a_max=255)
#保存图片
cv2 . im write( noise_img . png ,noise _ img)
这就是这篇关于python使用opencv给图像添加噪声(高斯/盐和胡椒/泊松/斑点)的文章。关于使用opencv的python的更多信息,请搜索流行的IT软件开发工作室以前的文章或继续浏览下面的相关文章。希望你以后能支持热门的IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。