数字图像处理中卷积

卷积操作过程

数字图像是一个二维的离散信号,对数字图像做卷积操作其实就是利用卷积核(卷积模板)在图像上滑动,将图像点上的像素灰度值与对应的卷积核上的数值相乘,然后将所有相乘后的值相加作为卷积核中间像素对应的图像上像素的灰度值,并最终滑动完所有图像的过程。

这张图可以清晰的表征出整个卷积过程中一次相乘后相加的结果:该图片选用3*3的卷积核,卷积核内共有九个数值,所以图片右上角公式中一共有九行,而每一行都是图像像素值与卷积核上数值相乘,最终结果-8代替了原图像中对应位置处的1。这样沿着图片一步长为1滑动,每一个滑动后都一次相乘再相加的工作,我们就可以得到最终的输出结果。除此之外,卷积核的选择有一些规则: 
1)卷积核的大小一般是奇数,这样的话它是按照中间的像素点中心对称的,所以卷积核一般都是3x3,5x5或者7x7。有中心了,也有了半径的称呼,例如5x5大小的核的半径就是2。 
2)卷积核所有的元素之和一般要等于1,这是为了原始图像的能量(亮度)守恒。其实也有卷积核元素相加不为1的情况,下面就会说到。 
3)如果滤波器矩阵所有元素之和大于1,那么滤波后的图像就会比原图像更亮,反之,如果小于1,那么得到的图像就会变暗。如果和为0,图像不会变黑,但也会非常暗。 
4)对于滤波后的结构,可能会出现负数或者大于255的数值。对这种情况,我们将他们直接截断到0和255之间即可。对于负数,也可以取绝对值。

边界补充方法

上面的图片说明了图像的卷积操作,但是他也反映出一个问题,如上图,原始图片尺寸为7*7,卷积核的大小为3*3,当卷积核沿着图片滑动后只能滑动出一个5*5的图片出来,这就造成了卷积后的图片和卷积前的图片尺寸不一致,这显然不是我们想要的结果,所以为了避免这种情况,需要先对原始图片做边界填充处理。

原始图像:

补零填充

边界复制填充

镜像填充

块填充

常用卷积核及其意义

一个没有任何作用的卷积核

卷积核: 
 
将原像素中间像素值乘1,其余全部乘0,显然像素值不会发生任何变化。

平滑均值滤波

选择卷积核: 
 
该卷积核的作用在于取九个值的平均值代替中间像素值,所以起到的平滑的效果:。

高斯平滑

卷积核: 
 
高斯平滑水平和垂直方向呈现高斯分布,更突出了中心点在像素平滑后的权重,相比于均值滤波而言,有着更好的平滑效果。

图像锐化

卷积核: 
 
该卷积利用的其实是图像中的边缘信息有着比周围像素更高的对比度,而经过卷积之后进一步增强了这种对比度,从而使图像显得棱角分明、画面清晰,起到锐化图像的效果。

除了上述卷积核,边缘锐化还可以选择: 

梯度Prewitt

水平梯度卷积核: 

垂直梯度卷积核: 

梯度Prewitt卷积核与Soble卷积核的选定是类似的,都是对水平边缘或垂直边缘有比较好的检测效果。

Soble边缘检测:

Soble与上述卷积核不同之处在于,Soble更强调了和边缘相邻的像素点对边缘的影响。 
水平梯度:

垂直梯度: 

梯度Laplacian

卷积核: 

Laplacian也是一种锐化方法,同时也可以做边缘检测,而且边缘检测的应用中并不局限于水平方向或垂直方向,这是Laplacian与soble的区别。

原文地址:https://www.cnblogs.com/xiaojianliu/p/9075872.html

时间: 2024-11-07 13:41:20

数字图像处理中卷积的相关文章

理解数字图像处理中的卷积

理解数字图像处理中的卷积 彻底理解数字图像处理中的卷积-以Sobel算子为例 作者:FreeBlues 修订记录 2016.08.04 初稿完成 概述 卷积在信号处理领域有极其广泛的应用, 也有严格的物理和数学定义. 本文只讨论卷积在数字图像处理中的应用. 在数字图像处理中, 有一种基本的处理方法:线性滤波. 待处理的平面数字图像可被看做一个大矩阵, 图像的每个像素对应着矩阵的每个元素, 假设我们平面的分辨率是 1024*768, 那么对应的大矩阵的行数= 1024, 列数=768. 用于滤波的

初探FFT在数字图像处理中的应用(fft2函数的使用方法)

初探FFT在数字图像处理中的应用 一般FFT在通信等领域都做的一维变换就可以了,但是在图像处理方面,需要做二维变换,这个时候就需要用到FFT2. 在利用Octave(或者matlab)里面的fft2()函数的时候,观察频率领域的图像还是要点额外的技巧的.下面的图像是我们想要的,也是我们人类才可以理解的(图片的中心表示低频区域,越是远离中心,频率越高,这里下面图片中,中心区域很亮,value很高,中心周围越来越暗,表示低频信号强,高频信号慢慢减弱) >> result = fft2(dark_c

初探FFT在数字图像处理中的应用(fft2函数的用法)

初探FFT在数字图像处理中的应用 一般FFT在通信等领域都做的一维变换就能够了.可是在图像处理方面,须要做二维变换,这个时候就须要用到FFT2. 在利用Octave(或者matlab)里面的fft2()函数的时候,观察频率领域的图像还是要点额外的技巧的.以下的图像是我们想要的,也是我们人类才干够理解的(图片的中心表示低频区域,越是远离中心.频率越高,这里以下图片中,中心区域非常亮,value非常高,中心周围越来越暗,表示低频信号强,高频信号慢慢减弱) >> result = fft2(dark

数字图像处理中一张常用图片

在数字图像处理中,Lena(Lenna)是一张被广泛使用的标准图片,特别在图像压缩的算法研究中. (为什么用这幅图,是因为这图的各个频段的能量都很丰富:即有低频(光滑的皮肤),也有高频(帽子上的羽毛),很适合来验证各种算法)       然而,这张图片背后的故事是颇有意思的,很多人都抱有学究都是呆子的看法,然而Lena对此就是一个有力的驳斥.lena(lenna)是一张于1972年11月出版的Playboy的中间插页,在这期杂志中使用了“Lenna”的拼写,而实际莉娜在瑞典语中的拼写是“lena

数字图像处理中的4通路,8通路与m通路

像素之间的邻接性: 4邻接.如果q在集合N4(p)中,则具有V中数值的两个像素p和q是4邻接的. 8邻接.如果q在集合N8(p)中,则具有V中数值的两个像素p和q是8邻接的. m邻接(混合邻接).如果(i)q在N4(p)中,或(ii)q在ND(p)中,且集合N4(p)N4(q)中没有来自V中的像素,则具有V中数值的两个像素p和q是m邻接的. 在网上搜到的一个很好的解释,我觉得比概念更直观一些,更加容易理解.它这样写道:当像素间同时存在4邻接和8邻接时,优先采用4邻接,屏蔽两个和同一像素存在4邻接

paper 76:膨胀、腐蚀、开、闭运算——数字图像处理中的形态学

膨胀.腐蚀.开.闭运算是数学形态学最基本的变换.本文主要针对二值图像的形态学膨胀:把二值图像各1像素连接成分的边界扩大一层(填充边缘或0像素内部的孔):腐蚀:把二值图像各1像素连接成分的边界点去掉从而缩小一层(可提取骨干信息,去掉毛刺,去掉孤立的0像素):开:先腐蚀再膨胀,可以去掉目标外的孤立点闭:先膨胀再腐蚀,可以去掉目标内的孔.以下参考论文:<数学形态学在图像处理中的应用> 二值形态学        数学形态学中二值图像的形态变换是一种针对集合的处理过程.其形态算子的实质是表达物体或形状的

卷积神经网络CNN在自然语言处理中的应用

卷积神经网络(Convolution Neural Network, CNN)在数字图像处理领域取得了巨大的成功,从而掀起了深度学习在自然语言处理领域(Natural Language Processing, NLP)的狂潮.2015年以来,有关深度学习在NLP领域的论文层出不穷.尽管其中必定有很多附庸风雅的水文,但是也存在很多经典的应用型文章.笔者在2016年也发表过一篇关于CNN在文本分类方面的论文,今天写这篇博客的目的,是希望能对CNN的结构做一个比较清晰的阐述,同时就目前的研究现状做一个

Atitit 图像处理之理解卷积attilax总结

Atitit 图像处理之理解卷积attilax总结 卷积的运算可以分为反转.平移,相乘,求和. 在图像处理中,图像是一个大矩阵,卷积模板是一个小矩阵.按照上述过程,就是先把小矩阵反转,然后平移到某一位置,小矩阵的每一个小格对应大矩阵里面的一个小格,然后把对应小格里面的数相乘,把所有对应小格相乘的结果相加求和,得出的最后结果赋值给小矩阵中央小格对应的图像中小格的值,替换原来的值.就是上述说到的,反转.平移.相乘.求和.        一般图像卷积就是从第一个像素(小格)开始遍历到最后一个像素(小格

转:图像处理之理解卷积

图像处理之理解卷积 一:什么是卷积 离散卷积的数学公式可以表示为如下形式: f(x) =  - 其中C(k)代表卷积操作数,g(i)代表样本数据, f(x)代表输出结果. 举例如下: 假设g(i)是一个一维的函数,而且代表的样本数为G = [1,2,3,4,5,6,7,8,9] 假设C(k)是一个一维的卷积操作数, 操作数为C=[-1,0,1] 则输出结果f(x)可以表示为 F=[1,2,2,2,2,2,2,2,1]  //边界数据未处理 以上只是一维的情况下,当对一幅二维数字图像加以卷积时,其