图像滤波

OpenCV重写冈萨雷斯——自适应中值滤波器

ⅰ亾dé卋堺 提交于 2020-01-18 08:16:29
自适应中值滤波器 传统中值滤波器处理低概率椒盐噪声退化的图像效果令人满意 但是对于 P = 0.2 的脉冲噪声退化过的图片的处理效果就很令人失望,会丢失很多细节,由此,自适应中值滤波器诞生,与传统不同的是,自适应中值滤波器尝试保留细节。 冈萨雷斯中给出的过程是: 进程A: A1 = Z<sub>med</sub> -Z<sub>min</sub> A2 = Z<sub>med</sub> -Z<sub>max</sub> if(A1 > 0 && A2 < 0 ) goto B else if ( S < S<sub>max</sub>) goto A else return Z<sub>med</sub> 进程B: B1 = Z<sub>xy</sub> -Z<sub>min</sub> B2 = Z<sub>xy</sub> -Z<sub>max</sub> if(B1 > 0 && B2 < 0 ) return Z<sub>xy</sub> else return Z<sub>med</sub> 过程的主要思想就是 如果当前像素点灰度值不是脉冲,则保留,当滤波器扩大到指定最大之后则选取中值为结果,可能该处是边缘。 突发奇想 既然要尽可能多的保留图像原本细节 为什么不把B过程和A过程交换一下逻辑 经过试验结果是差不多的0。0 实验图片 #include < opencv2

filter2

最后都变了- 提交于 2020-01-17 05:23:41
文章目录 语法 说明 示例 shape-滤波数据的子区 算法 filter2 二维数字滤波器 语法 Y = filter2 ( H , X ) Y = filter2 ( H , X , shape ) 说明 Y=filter2(H,X)根据矩阵H中的系数,对数据矩阵X应用有限脉冲响应滤波器。 Y=filter2(H,X,shape),根据shape返回滤波数据的子区。例如,Y=filter2(H,X,‘valid’)仅返回计算的没有补零边缘的滤波数据。 示例 二维台座 您可以使用与 conv2 函数紧密相关的 filter2 函数对图像和其他二维数据进行数字滤波。 创建并绘制一个内部高度等于 1 的二维台座。 A = zeros ( 10 ) ; A ( 3 : 7 , 3 : 7 ) = ones ( 5 ) ; mesh ( A ) H = [ 1 2 1 ; 0 0 0 ; - 1 - 2 - 1 ] ; Y = filter2 ( H , A , 'full' ) ; mesh ( Y ) 将 H 旋转 180 度,并将结果与 A 进行卷积。该输出等同于按照 H 中的系数对 A 中的数据进行滤波。 C = conv2 ( A , rot90 ( H , 2 ) ) ; mesh ( C ) shape-滤波数据的子区 shape - 滤波数据的子区 ‘same’ (默认)

导向滤波公式推导和扩展

半世苍凉 提交于 2020-01-17 04:10:49
何凯明大神的代表作之一 论文地址: Guided Image Filtering 导向滤波的一般表达方式 q i = ∑ j W i j ( I ) p j q_{i}=\sum_{j} W_{i j}(I) p_{j} q i ​ = j ∑ ​ W i j ​ ( I ) p j ​ 其中 q q q 表示输出, p p p 表示输入, I I I 表示导向图。 先验假设 假设在局部范围内,输出图与导向图的关系可以用一个线性模型表示: q i = a k I i + b k , ∀ i ∈ ω k q_{i}=a_{k} I_{i}+b_{k}, \forall i \in \omega_{k} q i ​ = a k ​ I i ​ + b k ​ , ∀ i ∈ ω k ​ 另外输出图是由输入图减去噪声(需要被滤掉的部分)得到 q i = p i − n i q_{i}=p_{i}-n_{i} q i ​ = p i ​ − n i ​ 能量函数和求解 我们需要做的就是最小化能量函数 E ( a k , b k ) = ∑ i ∈ ω k ( ( a k I i + b k − p i ) 2 + ϵ a k 2 ) E\left(a_{k}, b_{k}\right)=\sum_{i \in \omega_{k}}\left(\left(a_{k} I_{i}+b_{k}

自适应阈值化-adaptiveThreshold-0

£可爱£侵袭症+ 提交于 2020-01-09 21:50:18
函数 void adaptiveThreshold(InputArray src, OutputArray dst, double maxValue, int adaptiveMethod, int thresholdType, int blockSize, double C) InputArray src:源图像 OutputArray dst:输出图像,与源图像大小一致 int adaptiveMethod:在一个邻域内计算阈值所采用的算法,有两个取值,分别为 ADAPTIVE_THRESH_MEAN_C 和 ADAPTIVE_THRESH_GAUSSIAN_C 。 ADAPTIVE_THRESH_MEAN_C的计算方法是计算出领域的平均值再减去第七个参数double C的值 ADAPTIVE_THRESH_GAUSSIAN_C的计算方法是计算出领域的高斯均值再减去第七个参数double C的值 int thresholdType:这是阈值类型,只有两个取值,分别为 THRESH_BINARY 和THRESH_BINARY_INV 具体的请看官方的说明,这里不多做解释 int blockSize:adaptiveThreshold的计算单位是像素的邻域块,邻域块取多大,就由这个值作决定 double C:在对参数int adaptiveMethod的说明中

图像的频域滤波增强

此生再无相见时 提交于 2020-01-02 21:06:31
文章目录 1.低通滤波器 图像的频域滤波增强是利用图像变换方法将原来图像空间中的图像以某种形式转换到其它空间中,然后利用该空间的特有性质再进行图像处理,最后转换回原来的图像空间中,从而得到处理后的图像。频域滤波增强的主要步骤如下: (1)选择变换方法,将输入图像变换到频域空间; (2)在频域空间中,根据目标设计一个转移函数并进行处理; (3)将所得的结果用反变换得到图像的增强。 1.低通滤波器 图像在传递过程中,由于噪声主要集中在高频部分,为去除噪声改善图像质量,滤波器采用低通滤波器H(u,v)来抑制高频部分,通过低频部分,然后再进行傅里叶逆变换获得滤波图像,就可以达到平滑图像的目的。由卷积定理,低通滤波器数学表达式为 G(u,v)=F(u,v)H(u,v) 其中,F(u,v)为含有噪声的原图像的傅里叶变换域;H(u,v)为传递函数;G(u,v)为经低通滤波后输出图像的傅里叶变换。假定图像和信号成分在频率上可分离,且噪声表现为高频成分。低通滤波去除了高频成分,而低频信息基本无损失的通过。常用的低通滤波器有一下几种。 1.理想低通滤波器 设傅里叶平面上理想低通滤波器离开原点的截止频率为D0,则理想低通滤波器的传递函数为 来源: CSDN 作者: 御坂御坂001 链接: https://blog.csdn.net/qq_34562355/article/details

python+opencv滤波操作

丶灬走出姿态 提交于 2019-12-30 19:26:26
1、均值滤波 直接用元素全为1的核与图像卷积求均值得到中心像素的修改值。 #blur平均值去噪,均值滤波 #简单的平均卷积操作 img=cv2.imread("noise.jpg") blur = cv2.blur(img,(3,3)) cv2.imshow("original",img) cv2.imshow("changed",blur) cv2.waitKey(0) cv2.destroyAllWindows() 将核大小改为(1,50)和(50,1)的到下图 2、方框滤波(比均值滤波多一个参数) #方框滤波 #normalize为True时与blur相同 #normalize为Flase是可能发生越界 box=cv2.boxFilter(img,-1,(3,3),normalize=True) cv2.imshow("original",img) cv2.imshow("changed",box) cv2.waitKey(0) cv2.destroyAllWindows() 3、高斯滤波 #高斯滤波 #构造权重矩阵 aussian = cv2.GaussianBlur(img,(21,21),1) cv2.imshow("original",img) cv2.imshow("aussian",aussian) cv2.waitKey(0) cv2

第三章 灰度变换与空间滤波

有些话、适合烂在心里 提交于 2019-12-27 11:31:30
3.1 背景知识 3.1.1 灰度变换和空间滤波基础 本节讨论的所有图像处理技术都是在空间域进行的。空间与包含图像像素的简单平面。与频率域相反,空间域技术是直接操作图像像素的简单平面。 本章讨论的空间域处理可有下式表示: g ( x , y ) = T ⋅ [ f ( x , y ) ] g(x,y)=T\cdot [f(x,y)] g ( x , y ) = T ⋅ [ f ( x , y ) ] 式中, f ( x , y ) f(x,y) f ( x , y ) 是输入图像, g ( x , y ) g(x,y) g ( x , y ) 是输出图像, T T T 是在点的邻域上定义的关于f的一种算子。算子可应用于单幅图像或图像集合。 邻域与预定义的操作一起称为空间滤波器(也称为空间掩模、核、模板、窗口)。在邻域中执行的操作据欸的那个了滤波处理的特性。 最小邻域为 1 × 1 1\times 1 1 × 1 。在这种情况下, g g g 仅取决于点(x,y)处的 f f f 值,而式(3.1-1)中的 T T T 则成为一个形如下式的灰度(也称为灰度级或映射)变换函数: s = T ( r ) s=T(r) s = T ( r ) 式中,令 s s s 和 t t t 分别表示 g g g 和 f f f 在任意点 ( x , y ) (x,y) ( x , y ) 处的灰度。

图像处理___高斯滤波与高斯噪声

大憨熊 提交于 2019-12-26 09:02:42
噪声 1.噪声表现形式 噪声在图像上常表现为一引起较强视觉效果的孤立像素点或像素块。一般,噪声信号与要研究的对象不相关,它以无用的信息形式出现,扰乱图像的可观测信息。通俗的说就是噪声让图像不清楚。 2.噪声对数字图像的影响 对于数字图像信号,噪声表为或大或小的极值,这些极值通过加减作用于图像像素的真实灰度值上,对图像造成亮、暗点干扰,极大降低了图像质量,影响图像复原、分割、特征提取、图像识别等后继工作的进行。 3.高斯噪声 噪声可以看作随机信号,具有统计学上的特征属性。功率谱密度(功率的频谱分布PDF)即是噪声的特征之一,通过功率谱密度分类噪声。 高斯噪声是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声。如果一个噪声,它的幅度分布服从高斯分布,而它的功率谱密度又是均匀分布的,则称它为高斯白噪声。 高斯白噪声的二阶矩不相关,一阶矩为常数,是指先后信号在时间上的相关性。 概率密度函数PDF:    其中z表示灰度值,μ表示z的平均值或期望值,σ表示z的标准差。标准差的平方σ2称为z的方差。 产生原因:1)图像传感器在拍摄时市场不够明亮、亮度不够均匀;      2)电路各元器件自身噪声和相互影响;     3)图像传感器长期工作,温度过高 4.表现形式 5.图像 高斯滤波器 1.定义 高斯滤波器是一种线性滤波器,能够有效的抑制噪声,平滑图像。其作用原理和均值滤波器类似

图像滤波之高斯滤波介绍

孤街浪徒 提交于 2019-12-26 09:02:30
1 高斯滤波简介   了解高斯滤波之前,我们首先熟悉一下高斯噪声。高斯噪声是指它的 概率密度函数 服从 高斯分布 (即 正态分布 )的一类噪声。如果一个噪声,它的幅度分布服从高斯分布,而它的 功率谱密度 又是均匀分布的,则称它为高斯白噪声。高斯白噪声的二阶矩不相关,一阶矩为 常数 ,是指先后信号在时间上的相关性, 高斯白噪声 包括 热噪声 和 散粒噪声 。   高斯滤波器是一类根据高斯函数的形状来选择权值的线性平滑滤波器。高斯平滑滤波器对于抑制服从正态分布的噪声非常有效。一维零均值高斯函数为:                          g(x)=exp( -x^2/(2 sigma^2)   其中,高斯分布参数Sigma决定了高斯函数的宽度。对于图像处理来说,常用二维零均值离散高斯函数作平滑滤波器,高斯函数的图形:                    2 高斯滤波函数   对于图像来说,高斯滤波器是利用高斯核的一个2维的卷积算子,用于图像模糊化(去除细节和噪声)。   1) 高斯分布   一维高斯分布:          二维高斯分布:      2) 高斯核   理论上,高斯分布在所有定义域上都有非负值,这就需要一个无限大的卷积核。实际上,仅需要取均值周围3倍标准差内的值,以外部份直接去掉即可。 如下图为一个标准差为1.0的整数值高斯核。                

高斯滤波

ぃ、小莉子 提交于 2019-12-26 09:02:08
1.通俗讲,对整幅图像进行加权平均的过程。 2.十分有效的低通滤波器。 3.两种实现:1.离散化窗口滑窗卷积;2.傅里叶变换。 4.高斯函数:    (e:自然对数,≈2.71828) 5.高斯函数积分:    6.高斯分布:    7.高斯滤波性质(5个):    ( 1 )二维高斯函数具有旋转对称性,即滤波器在各个方向上的平滑程度是相同的.一般来说,一幅图像的边缘方向是事先不知道的,因此,在滤波前是无法确定一个方向上比另一方向上需要更多的平滑.旋转对称性意味着高斯平滑滤波器在后续边缘检测中不会偏向任一方向.   ( 2 )高斯函数是单值函数.这表明,高斯滤波器用像素邻域的加权均值来代替该点的像素值,而每一邻域像素点权值是随该点与中心点的距离单调增减的.这一性质是很重要的,因为边缘是一种图像局部特征,如果平滑运算对离算子中心很远的像素点仍然有很大作用,则平滑运算会使图像失真.   ( 3 )高斯函数的傅立叶变换频谱是单瓣的.正如下面所示,这一性质是高斯函数付立叶变换等于高斯函数本身这一事实的直接推论.图像常被不希望的高频信号所污染 ( 噪声和细纹理 ) .而所希望的图像特征(如边缘),既含有低频分量,又含有高频分量.高斯函数付立叶变换的单瓣意味着平滑图像不会被不需要的高频信号所污染,同时保留了大部分所需信号.   ( 4 )高斯滤波器宽度 ( 决定着平滑程度 ) 是由参数σ表征的