图像滤波

图像增强之空间域锐化

微笑、不失礼 提交于 2020-02-08 00:28:16
1 、图像锐化理论 图像锐化的目的是使图像变得清晰起来,锐化主要用于增强图像的灰度跳变部分,这一点与图像平滑对灰度跳变的抑制正好相反。锐化提高图像的高频分量,增加灰度反差增强图像的边缘和轮廓,以便后期图像识别。 在图像增强过程中,常用平滑算法来消除噪声,平滑属于低通滤波,图像的能量主要集中在低频部分,噪声所在频段主要在高频部分,同时图像的边缘也集中在高频部分,这意味着图像平滑后,高频被衰减轮廓会出现模糊。图像锐化就是为了减少这种现象,通过高通滤波使图像边缘和轮廓变得清晰。 2 、一阶微分图像增强--梯度算子 其中: 梯度的方向就是函数 f(x,y) 最大变化率的方向。梯度的幅值作为最大变化率大小的度量,值为: 离散的二维函数 f(i,j) ,可以用有限差分作为梯度的一个近似值。 为了简化计算,可以用绝对值来近似。 | ▽ f(i,j)|= |f(i+1,j)-f(i,j)| +|f(i,j+1)-f(i,j)| 2.1 Robert 算子 | ▽ f(i,j)|= |f(i+1,j+1)-f(i,j)| +|f(i,j+1)-f(i+1,j)| 上面算式采用对角相差的差分法来代替微分,写为滤波模板形式为: 其中 w1 对接近 45° 的边缘有较强响应, w2 对接近 -45° 的边缘有较强响应。 imgPath = 'E:\opencv_pic\src_pic\pic6.bmp';

图像增强之空间域滤波

て烟熏妆下的殇ゞ 提交于 2020-02-06 00:09:01
1 、为什么进行图像增强 图像增强是指增强图像中某些特征,同时削弱或去除某些不需要的信息,即为了某种应用而去改善图像的质量,消除噪声,显现那些被模糊了的细节或简单的突出一副图像中感兴趣的特征。所以图像增强并不是增强图像的原始信息,而是只针对某一特征以提高某种信息的辨别能力,图像增强需要根据需求采用特定的方法,当增强一些信息时另外一些信息必定被损失,不存在一种通用的方法,必须根据需求决定保留哪些信息丢弃哪些信息。 图像增强技术基本上可以分为两类:空间域增强、频域增强。 2 、空间域滤波理论 2.1定义 空间域滤波就是在图像平面上对像素进行操作。 空间域滤波大体分为两类:平滑、锐化。 平滑滤波:模糊处理,用于减小噪声,实际上是低通滤波,典型的滤波器是高斯滤波。 锐化滤波:提取边缘突出边缘及细节、弥补平滑滤波造成的边缘模糊。实际上是高通滤波。 空间域处理可由下式表示: g(x,y)=T[f(x,y)] 式中,f(x,y)是输入图像,g(x,y)是处理后的图像,T是在点(x,y)的邻域上定义的关于f的一种算子,算子可应用于单幅图像或图像集合。 2.2空间域滤波和邻域处理 1)空间滤波器由一个邻域(通常是一个较小的矩形)和对该邻域所包围图像像素执行的预定义操作组成。对预定义的点(x,y)为中心的领域内的像素进行计算。 2)滤波产生一个新像素,新像素的坐标等于邻域中心的坐标(x,y)

16.自定义线性滤波

耗尽温柔 提交于 2020-02-04 00:59:56
主要内容 卷积概念 常见算子 自定义卷积模糊 卷积概念 卷积是图像处理中的一个操作,是kernel在图像的每个像素上的操作 kernel本质上是一个固定大小的矩阵数组,其中心被称为锚点(anchor point) 卷积如何工作 把kernel放到像素数组上,求锚点周围覆盖的像素乘积之和(包括锚点),用来替换锚点覆盖下像素点值的操作称为卷积处理。数学表达公式如下 Sum = 8x1+6x1+6x1+2x1+8x1+6x1+2x1+2x1+8x1 New pixel = sum / (m*n) 常见算子 定义结构元素举例 Mat kernel_Robert_x =( Mat_(2, 2) << 1, 0, -1, 0); Robert算子(梯度算子, 去做图像的X方向梯度和Y方向梯度)     X方向              Y方向 sobel算子是一种常用的边缘检测算子,是一阶的梯度算法。对噪声具有平滑作用,提供较为精确的边缘方向信息,边缘定位精度不够高。当对精度要求不是很高时,是一种较为常用的边缘检测方法 X方向(显示左右差异)    Y方向(显示上下差异) 拉普拉斯算子(显示整个的差异),边缘检测常用到 锐化算子 自定义卷积模糊 filer2D方法API filter2D ( Mat src , //输入图像 Mat dst , //模糊结果图像 int depth , /

动态滤波网络论文解读

六月ゝ 毕业季﹏ 提交于 2020-02-03 20:21:08
论文题目:Dynamic Filter Networks 论文链接: summary 在传统的卷积层中,经过训练后的学习滤波器保持不变。相反本篇论文引入了一种动态过滤器网络,根据输入动态生成。 动态滤波网络组成 总体框架如下图所示: 动态滤波网络由过滤生成网络和动态过滤层组成。过滤生成器网络根据输入动态生成过滤器,而动态过滤层将生成的过滤器应用于另外一个输入。两部分都是可微的。 过滤生成网络 过滤生成网络输入是: , h为高,w为宽,Ca为输入A通道的数目,输出为 , ,s为滤波器的尺寸,n为滤波器的数目,动态卷积d=1,Cb为输入B通道的数目,hxw为局部滤波。将过滤器应用于输入 ,输出 。 过滤生成网络可以用任何可微分的架构来实现,比如多层感知器或卷积网络。当使用图像作为过滤器生成网络的输入时,卷积网络尤其适用。 来源: CSDN 作者: 小小谢先生 链接: https://blog.csdn.net/xiewenrui1996/article/details/104157405

opencv:自定义滤波

試著忘記壹切 提交于 2020-02-01 21:31:29
卷积核的定义 均值卷积核 // 自定义滤波 - 均值卷积 int k = 15; Mat mkernel = Mat::ones(k, k, CV_32F) / (float)(k * k); Mat dst; // 第三个参数,图像深度,-1表示和输入图像一样 filter2D(src, dst, -1, mkernel, Point(-1, -1), 0, BORDER_DEFAULT); imshow("custom mean filter", dst); 非均值卷积核 // 非均值滤波 Mat robot = (Mat_<int>(2, 2) << 1, 0, 0, -1); Mat result; filter2D(src, result, CV_32F, robot, Point(-1,-1), 0, BORDER_DEFAULT); imshow("result", result); convertScaleAbs(result, result); imshow("convertScaleAbs result", result); 输出图像类型 来源: https://www.cnblogs.com/wbyixx/p/12250160.html

图像处理基础(4):高斯滤波器详解

痞子三分冷 提交于 2020-02-01 17:11:32
本文主要介绍了高斯滤波器的原理及其实现过程 高斯滤波器是一种线性滤波器,能够有效的抑制噪声,平滑图像。其作用原理和均值滤波器类似,都是取滤波器窗口内的像素的均值作为输出。其窗口模板的系数和均值滤波器不同,均值滤波器的模板系数都是相同的为1;而高斯滤波器的模板系数,则随着距离模板中心的增大而系数减小。所以,高斯滤波器相比于均值滤波器对图像个模糊程度较小。 什么是高斯滤波器 既然名称为高斯滤波器,那么其和高斯分布(正态分布)是有一定的关系的。一个二维的高斯函数如下: \[ h(x,y) = e ^ {- \frac{x^2 + y^2}{2\sigma ^ 2}} \] 其中 \((x,y)\) 为点坐标,在图像处理中可认为是整数; \(\sigma\) 是标准差。要想得到一个高斯滤波器的模板,可以对高斯函数进行离散化,得到的高斯函数值作为模板的系数。例如:要产生一个 \(3 \times 3\) 的高斯滤波器模板,以模板的中心位置为坐标原点进行取样。模板在各个位置的坐标,如下所示(x轴水平向右,y轴竖直向下) 这样,将各个位置的坐标带入到高斯函数中,得到的值就是模板的系数。 对于窗口模板的大小为 \((2k + 1) \times (2k + 1)\) ,模板中各个元素值的计算公式如下: \[ H_{i,j} = \frac{1}{2\pi \sigma ^ 2}e ^{-\frac

数字图像处理及应用(期末复习整理)

社会主义新天地 提交于 2020-02-01 17:08:32
一、图像及其类型 图像(image)的定义是: 在一般意义下,一幅图像是一个物体或对象(object)的另一种表示。亦即图像是其所表示物体或对象信息的一个直接描述和浓缩表示。简而言之,即图像是物体在平面坐标上的直观再现。一幅图像包含了所表示物体的描述信息和特征信息,或者说图像是与之对应的物体或抽象的一个真实表示,这个表示可以通过某些技术手段实现。 数字图像处理(digital image processing): 又称为计算机图像处理,它是通过计算机对图像进行去除噪声、增强、变换、复原、分割、特征提取、识别等运算与处理。 图像的分类: 可见图像(visible image): 是指视觉系统可以直接看见的图像,这也是大多数人在日常生活中所见到的和所理解的图像,这一类图像一般通过照像、手工绘制等传统方法获得,通常计算机不能直接处理,但是经过数字化处理后可变为数字图像。 物理图像(physical image): 所反映的是物体的电磁波辐射能,包括可见光和不可见光图像。 数字图像(maths image) :指由连续函数或离散函数生成的抽象图像,其中离散函数所生成的图像就是计算机可以处理的数字图像。 其他相关概念: 计算机图形学(computer graphic): 是指利用计算机技术将概念或数学描述所表示的物体(非实物)图像进行处理和显示的过程。 计算机视觉(computer

【OpenCV(C++)】图像处理:非线性滤波

半世苍凉 提交于 2020-01-26 18:30:50
【OpenCV(C++)】图像处理:非线性滤波 非线性滤波 中值滤波(Median filter) 双边滤波(Bilateral filter) 非线性滤波 在上一篇文章中所讨论的滤波器都是线性的,即两个信号之间的响应和它们各自响应之和相等,每个像素的输出值是一些输入像素的加权和。 在很多情况下,使用邻域像素的非线性滤波会得到更好的效果。 中值滤波(Median filter) 其基本思想是用像素点邻域灰度值的中值来代替该像素点的灰度值,该方法在去除脉冲噪声、椒盐噪声的同时又能保留图像的边缘细节。它可以克服线性滤波器所带来的图像细节模糊,而在实际运算过程中并不需要图像的统计特性,使得计算更加方便。 # include <opencv2/highgui/highgui.hpp> # include <opencv2/imgproc/imgproc.hpp> using namespace cv ; int main ( ) { Mat srcImage = imread ( "fg.jpg" ) ; imshow ( "[原图]中值滤波" , srcImage ) ; Mat dstImage ; medianBlur ( srcImage , dstImage , 7 ) ; imshow ( "[效果图]中值滤波" , dstImage ) ; waitKey ( 0 ) ;

图像的空域滤波增强

你离开我真会死。 提交于 2020-01-26 03:45:56
文章目录 1.噪声与imnoise函数 2.平滑滤波器 3.中值滤波器 4.自适应滤波器 5.锐化滤波器 使用空域模板进行的图像处理,称为图像的空域滤波增强,模板本身称为空域滤波器。空域滤波增强的机理就是在待处理的图像中逐点的移动模板,滤波器在该点的响应通过事先定义的滤波器系数和滤波模板扫过区域的相应像素值的关系来计算。 空域滤波器可以分为平滑滤波器、中值滤波器、自适应除噪滤波器和锐化滤波器。 1.噪声与imnoise函数 图像噪声按照其干扰源可以分为内部噪声和外部噪声。外部噪声,既指系统外部干扰以电磁波或经电源串进系统内部而引起的噪声,如电气设备、天体放电现象等引起的噪声。内部噪声,一般可分为以下4种: (1)由光和电的基本性质所引起的噪声 (2)电器的机械运动产生的噪声 (3)器件材料本身引起的噪声 (4)系统内部设备电路所引起的噪声 按噪声与信号的关系分类,可以将噪声分为加性噪声和乘性噪声两大类。设f(x,y)为信号,n(x,y)为噪声,噪声影响信号后的输出为g(x,y)。表示加性噪声的公式如下: 加性噪声和图像信号强度是不相关的,如运算放大器。图像在传输过程中引进的“信道噪声”,电视摄像机扫描图像的噪声,这类带有噪声的图像g(x,y)可看成理想无噪声图像f(x,y)与噪声n(x,y)之和。形成的波形是噪声和信号的叠加,其特点是n(x,y)和信号无关。如一般的电子线性放大器

图像降噪,滤波处理

杀马特。学长 韩版系。学妹 提交于 2020-01-20 00:18:17
一、滤波 1.1 blur 均值滤波 def blur(src, ksize, dst=None, anchor=None, borderType=None): src:输入图像,ksize:均值滤波,取值范围 cv2.blur 使用均值滤波,即当对一个值进行滤波时,使用当前值与周围值之和,取平均做为当前值 blured = cv2.blur(frame,(4,4)) #进行滤波去掉噪声,(4,4)为16个像素,除去自身剩15个点平均值为当前点值 1.2 boxfilter 方框滤波 def boxFilter(src, ddepth, ksize, dst=None, anchor=None, normalize=None, borderType=None): src:输入图像,ddepth:the output image depth (-1 to use src.depth()) 输入图像深度 cv2.boxfilter(img, -1, (3, 3), normalize=True) 表示进行方框滤波,任意长方形 参数说明当normalize=True时,与均值滤波结果相同, normalize=False,表示对加和后的结果不进行平均操作,大于255的使用255表示 1.3 medianBlur 中值滤波 def medianBlur(src, ksize, dst