图像处理——去噪

图像去噪定义

图像去噪是指减少数字图像中噪声的过程称为图像去噪。现实中的数字图像在数字化和传输过程中常受到成像设备与外部环境噪声干扰等影响,称为含噪图像或噪声图像。

噪声分类

按照噪声组成来分

f(x,y)表示给定原始图象,g(x,y)表示图象信号,n(x,y)表示噪声。

(1)加性噪声,此类噪声与输入图象信号无关,含噪图象可表示为f(x,y)=g(x,y)+n(x,y),信道噪声及光导摄像管的摄像机扫描图象时产生的噪声就属这类噪声;典型的加性噪声有高斯噪声,

(2)乘性噪声,此类噪声与图象信号有关,含噪图象可表示为f(x,y)=g(x,y)+n(x,y)g(x,y),飞点扫描器扫描图象时的噪声,电视图象中的相关噪声,胶片中的颗粒噪声就属于此类噪声;

(3)量化噪声,此类噪声与输入图象信号无关,是量化过程存在量化误差,再反映到接收端而产生。

按照噪声密度分布:

(1)高斯噪声:指噪声服从高斯分布,即某个强度的噪声点个数最多,离这个强度越远噪声点个数越少,且这个规律服从高斯分布。高斯噪声是一种加性噪声,即噪声直接加到原图像上,因此可以用线性滤波器滤除。

(2)椒盐噪声(脉冲噪声):类似把椒盐撒在图像上,因此得名,是一种在图像上出现很多白点或黑点的噪声,如电视里的雪花噪声等。椒盐噪声可以认为是一种逻辑噪声,用线性滤波器滤除的结果不好,一般采用中值滤波器滤波可以得到较好的结果。

(3)均匀噪声:是指功率谱密度(信号功率在频域的分布状况)在整个频域内是常数的噪声。 所有频率具有相同能量密度的随机噪声称为白噪声。

(4)瑞利噪声:噪声分布为瑞利分布。

(5)指数噪声:噪声分布为指数分布。

(6)伽马噪声:噪声分布为瑞利分布。

(以下是对图像加入高斯,椒盐等噪声的python代码)

 1 # -*- coding: utf-8 -*-
 2 """
 3 Created on Sat Mar  2 14:00:30 2019
 4
 5 @author: Administrator
 6 """
 7
 8 ‘‘‘
 9 图像添加噪声,去除噪声
10 ‘‘‘
11 import matplotlib.pyplot as plt
12 import numpy as np
13 from skimage.util import random_noise
14 from PIL import Image
15
16 img = plt.imread(‘F:/python编程/自己的博客园代码/picture_process/example.jpg‘)
17
18 fig = plt.figure(figsize = (8.0,6.0))
19 ax1 = fig.add_subplot(2,3,1)
20 ##  show the original picture
21 ax1.imshow(img)
22 plt.title(‘original_picture‘)
23
24 ## gray_picture
25 gravity= np.array([0.299,0.587,0.114])
26 #red*0.299+green*0.587+blue*0.114
27 img_gravity=np.dot(img,gravity)
28 ax2 = fig.add_subplot(2,3,2)
29 ##  show the gray_picture
30 ax2.imshow(img_gravity,cmap=‘gray‘)
31 plt.title(‘gray_picture‘)
32
33
34 img_gaussian =  random_noise(img, mode=‘gaussian‘, seed=100, clip=True)
35 ax3 = fig.add_subplot(2,3,3)
36 ax3.imshow(img_gaussian)
37 plt.title(‘add_gaussian‘)
38
39
40 img_salt =  random_noise(img, mode=‘salt‘, seed=100, clip=True)
41 ax4 = fig.add_subplot(2,3,4)
42 ax4.imshow(img_salt)
43 plt.title(‘add_salt‘)
44
45
46 img_pepper =  random_noise(img, mode=‘pepper‘, seed=100, clip=True)
47 ax4 = fig.add_subplot(2,3,5)
48 ax4.imshow(img_pepper)
49 plt.title(‘add_pepper‘)
50
51
52 img_sp =  random_noise(img, mode=‘s&p‘, seed=100, clip=True)
53 ax4 = fig.add_subplot(2,3,6)
54 ax4.imshow(img_sp)
55 plt.title(‘add_sp‘)

去噪方法

中值滤波:

中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值。

高斯滤波:

高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。高斯滤波的具体操作是:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。

均值滤波:

均值滤波也称为线性滤波,其采用的主要方法为邻域平均法。线性滤波的基本原理是用均值代替原图像中的各个像素值,即对待处理的当前像素点(x,y),选择一个模板,该模板由其近邻的若干像素组成,求模板中所有像素的均值,再把该均值赋予当前像素点(x,y),作为处理后图像在该点上的灰度g(x,y),即g(x,y)=1/m ∑f(x,y) m为该模板中包含当前像素在内的像素总个数。

维纳滤波:

维纳滤波(wiener filtering) 一种基于最小均方误差准则、对平稳过程的最优估计器。这种滤波器的输出与期望输出之间的均方误差为最小,因此,它是一个最佳滤波系统。它可用于提取被平稳噪声所污染的信号。

傅里叶滤波:简称fft,是通过对图片信号在频域里进行滤波,从而达到去噪效果。

(以下是几种滤波方法(不一定全)在python代码中的应用)

 1 # -*- coding: utf-8 -*-
 2 """
 3 Created on Sat Mar  2 21:17:58 2019
 4
 5 @author: Administrator
 6 """
 7
 8 ‘‘‘
 9 图像去除噪声
10 ‘‘‘
11 import matplotlib.pyplot as plt
12 import numpy as np
13 from skimage.util import random_noise
14 from PIL import Image
15 import cv2
16
17 img = plt.imread(‘F:/python编程/自己的博客园代码/picture_process/gaussian_picture.jpg‘)
18 fig = plt.figure(figsize=(8.0,6.0))
19 ax1 = fig.add_subplot(2,3,1)
20 ax1.imshow(img)
21 plt.title(‘blur_picture‘)
22
23 ###  中值滤波
24 median_filter_img = cv2.medianBlur(img, 3)
25 ax2 = fig.add_subplot(2,3,2)
26 ax2.imshow(median_filter_img)
27 plt.title(‘median_filter‘)
28
29 #### 高斯滤波
30 Gaussian_filter_img = cv2.GaussianBlur(img, (3,3), 0)
31 ax2 = fig.add_subplot(2,3,3)
32 ax2.imshow(Gaussian_filter_img)
33 plt.title(‘Gaussian_filter‘)
34
35 #### 均值滤波
36 mean_vaule_filter = cv2.blur(img, (5,5))
37 ax2 = fig.add_subplot(2,3,4)
38 ax2.imshow(mean_vaule_filter)
39 plt.title(‘mean_vaule_filter‘)
40
41 #### 双边滤波
42 #9 邻域直径,两个 75 分别是空间高斯函数标准差,灰度值相似性高斯函数标准差
43 blur = cv2.bilateralFilter(img,9,75,75)
44 ax2 = fig.add_subplot(2,3,5)
45 ax2.imshow(blur)
46 plt.title(‘bilatral-filter‘)

效果图:

原文地址:https://www.cnblogs.com/E-Dreamer-Blogs/p/10458846.html

时间: 2024-12-10 18:57:57

图像处理——去噪的相关文章

图像处理之基础---卷积去噪

讨论如何使用卷积作为数学工具来处理图像,实现图像的滤波,其方法包含以下几种,均值 滤波,中值滤波,最大最小值滤波,关于什么是卷积以及理解卷积在图像处理中作用参见这 里–http://blog.csdn.net/jia20003/article/details/7038938 均值滤波: 均值滤波,是图像处理中最常用的手段,从频率域观点来看均值滤波是一种低通滤波器,高 频信号将会去掉,因此可以帮助消除图像尖锐噪声,实现图像平滑,模糊等功能.理想的均 值滤波是用每个像素和它周围像素计算出来的平均值替

[转摘]图像复原(图片去噪与去模糊)-低级图像处理/视觉任务

[转摘自知乎]链接:https://www.zhihu.com/question/272305330/answer/366831382 去除雨滴,去雾,去除噪声,去尘土和去模糊等都是这一类的,图像复原(低级图像处理/视觉任务). 采用生成对抗网络和感知损失进行这类研究,也已经很多很多. 以下是一些工作,但是未必采用GAN去做. 1.Density-aware Single Image De-raining using a Multi-stream Dense Network CVPR2018 有

学习笔记(2)---Matlab 图像处理相关函数命令大全

Matlab 图像处理相关函数命令大全 一.通用函数: colorbar  显示彩色条 语法:colorbar \ colorbar('vert') \ colorbar('horiz') \ colorbar(h) \ h=colorbar(...) \ colorbar(...,'peer',axes_handle) getimage 从坐标轴取得图像数据 语法:A=getimage(h) \ [x,y,A]=getimage(h) \ [...,A,flag]=getimage(h) \

【OpenCV学堂】图像处理开发者基本知识图谱

原创图像处理与机器学习文章,关注微信公众号[OpenCV学堂] 作为一个入门的图像处理开发者与工程师,要掌握的知识点也不少,不要看每个知识点只有几个字,可以说每个都代表一个算法,都有数学知识,都需要你认真领悟学习!不认真的学习一年两年你不可能做到下面的全部领悟与贯通,成为一个合格的图像处理与机器学习开发者,一个人工智能时代的程序员! 图像像素操作 - 几何运算-加减乘除 - 逻辑运算-与或非取反 - 像素读写 - 通道混合与调整 - 对比度与亮度调整 图像变换 - 插值(zoom in或out)

图像处理与计算机视觉基础,经典以及最近发展

*************************************************************************************************************** 在这里,我特别声明:本文章的源作者是   杨晓冬  (个人邮箱:[email protected]).原文的链接是 http://www.iask.sina.com.cn/u/2252291285/ish.版权归 杨晓冬 朋友所有. 我非常感谢原作者辛勤地编写本文章,并愿意共

图像处理-傅里叶变换的理解

大部分复制参考链接: http://blog.csdn.net/kofsky/article/details/2955823 1.实质:傅里叶变换就是将一个时域信号映射到频域的一种方法. 有的信号主要在时域表现其特性,如 电容充放电的过程: 而有的信号则主要在频域表现其特性,如 机械的振动,人类的语音等. 若信号的特征主要在频域表示的话,则相应的时域信号看起来可能杂乱无章,但在频域则解读非常方便.所以需采取傅里叶变换进行分析. 冈萨雷斯版<图像处理>里面的解释非常形象:一个恰当的比喻是将傅里叶

OpenCV图像处理篇之腐蚀与膨胀

转载请注明出处:http://xiahouzuoxin.github.io/notes 腐蚀与膨胀 腐蚀和膨胀是图像的形态学处理中最基本的操作,之后遇见的开操作和闭操作都是腐蚀和膨胀操作的结合运算.腐蚀和膨胀的应用非常广泛,而且效果还很好: 腐蚀可以分割(isolate)独立的图像元素,膨胀用于连接(join)相邻的元素,这也是腐蚀和膨胀后图像最直观的展现 去噪:通过低尺寸结构元素的腐蚀操作很容易去掉分散的椒盐噪声点 图像轮廓提取:腐蚀操作 图像分割 等等...(在文后给出一则简单实用膨胀操作提

[数字图像处理]图像去噪初步(1)--均值滤波器

1.图像去噪的前言 上一篇博文中,我对噪声的类型进行了介绍,也使用的Matlab对各种噪声进行了实现.旧话重提,一幅图像,甚至是一个信号的老化,能够使用下面模型来表示. 能够使用下面算式来表示 这里,因为退化函数的作用,使得原图像产生退化(比方,运动模糊),然后在加上一个加性噪声项. 本博文,主要对去除加性噪声的线性滤波器的性能进行了比較.对于退化函数的去除(称为去卷积或者逆滤波),将放在稍后的博文. 1.1 实验用图像 1.2 实验结果的评价 实验的步骤为,将实验用图像加上加性噪声,然后使用滤

Atitit &#160;&#160;图像处理&#160;平滑&#160;也称&#160;模糊,&#160;归一化块滤波、高斯滤波、中值滤波、双边滤波)

Atitit   图像处理 平滑 也称 模糊, 归一化块滤波.高斯滤波.中值滤波.双边滤波) 是一项简单且使用频率很高的图像处理方法 用途 去噪 去雾 各种线性滤波器对图像进行平滑处理,相关OpenCV函数如下: 归一化块滤波器 (Normalized Box Filter) § 最简单的滤波器, 输出像素值是核窗口内像素值的 均值 ( 所有像素加权系数相等) § 高斯滤波器 (Gaussian Filter) § 最有用的滤波器 (尽管不是最快的). 高斯滤波是将输入数组的每一个像素点与 高斯