原文地址:https://blog.csdn.net/chaipp0607/article/details/72236892?locationNum=9&fps=1

上文用生动的例子来解释卷积记载了卷积的含义,现在就来看看卷积在图像处理中的应用吧。(ps:本文大部分内容系转载大神的博客,现在csdn强制图片水印,实在感到很无奈!!!)


数字图像处理中卷积

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

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


边界补充问题

上面的图片说明了图像的卷积操作,但是他也反映出一个问题,如上图,原始图片尺寸为77,卷积核的大小为33,当卷积核沿着图片滑动后只能滑动出一个55的图片出来,这就造成了卷积后的图片和卷积前的图片尺寸不一致,这显然不是我们想要的结果,所以为了避免这种情况,需要先对原始图片做边界填充处理。在上面的情况中,我们需要先把原始图像填充为99的尺寸。
常用的区域填充方法包括:
为了画图方便,这里就不用55的尺寸了,用33定义原始图像的尺寸,补充为9*9的尺寸,图片上的颜色只为方便观看,并没有任何其他含义。
原始图像:

补零填充

边界复制填充

镜像填充

块填充

以上四种边界补充方法通过看名字和图片就能理解了,不在多做解释。


不同卷积核下卷积意义

我们经常能看到的,平滑,模糊,去燥,锐化,边缘提取等等工作,其实都可以通过卷积操作来完成,下面我们一一举例说明一下:

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

卷积核:

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

平滑均指滤波:

卷积核:

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

高斯平滑:

卷积核:

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

图像锐化:

卷积核:

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

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

梯度Prewitt:

水平梯度卷积核:

垂直梯度卷积核:

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

Soble边缘检测:

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

垂直梯度:

以上的水平边缘与垂直边缘检测问题可以参考:Soble算子水平和垂直方向导数问题

梯度Laplacian:

卷积核:

Laplacian也是一种锐化方法,同时也可以做边缘检测,而且边缘检测的应用中并不局限于水平方向或垂直方向,这是Laplacian与soble的区别。下面这张图可以很好的表征出二者的区别:来源于OpenCV官方文档

理解图像中卷积操作的含义相关推荐

  1. 卷积 对图像进行卷积操作 卷积神经网络

    目录 卷积 对图像进行卷积操作 卷积神经网络 卷积(Filtering) 池化(下采样)(Pooling) 修正线性单元(Rectified Linear Units)(ReLus激活函数) 全连接层 ...

  2. 【计算视觉】理解图像中基本概念:色调、色相、饱和度、对比度、亮度

    理解图像中基本概念:色调.色相.饱和度.对比度.亮度 对比度: 对比度指不同颜色之间的差别.对比度越大,不同颜色之间的反差越大,即所谓黑白分明,对比度过大,图像就会显得很刺眼.对比度越小,不同颜色之间 ...

  3. 如何对图像进行卷积操作

    1.首先先了解下什么是卷积呢? 2.卷积操作:卷积核与原图对应位置相乘再求和:然后将所求和放在被卷积操作的图中心位置. 上图表示一个 8×8 的原图,每个方格代表一个像素点:其中一个包含 X 的方格是 ...

  4. 理解图像中的高频、低频分量

    原文:图像频率的理解 不同频率信息在图像结构中有不同的作用.图像的主要成分是低频信息,它形成了图像的基本灰度等级,对图像结构的决定作用较小:中频信息决定了图像的基本结构,形成了图像的主要边缘结构:高频 ...

  5. 很多深度学习工具中卷积操作其实都是互相关操作

    卷积计算过程中需不需要卷积核翻转?解答这个问题引出了一个叫"互相关"的概念. 二维卷积 给定一个图像和一个滤波器 ,一般

  6. 【深度学习入门-1】透彻理解卷积的三层含义:从“卷积”、到“图像卷积操作”、再到“卷积神经网络”的含义(学习笔记)

    一.写在前面 笔者在进行卷积神经网络入门的时候花了很多功夫,理解的也不够透彻,基础不牢,地动山摇.在查阅了很多资料后,发现了大佬up"王木头学科学"讲的卷积神经网络的理解,茅塞顿开 ...

  7. 理解图像卷积操作的意义

    数字信号处理中卷积 卷积一词最开始出现在信号与线性系统中,信号与线性系统中讨论的就是信号经过一个线性系统以后发生的变化.由于现实情况中常常是一个信号前一时刻的输出影响着这一时刻的输出,所在一般利用系统 ...

  8. 卷积及理解图像卷积操作的意义

    转载:http://blog.csdn.net/chaipp0607/article/details/72236892 https://www.zhihu.com/question/22298352 ...

  9. Java中 实现通过文件夹选择任一图像,从而进行图像卷积操作

    ** Java中 实现通过文件夹选择任一图像,从而进行图像卷积操作 ** 之前的那篇关于图像卷积的博客(Java中实现图像的卷积效果),只是讲了给定一张图片,从而实现图片的卷积操作:而现在,需要去实现 ...

最新文章

  1. ini文件怎么使用_ftp文件下载工具,ftp文件下载工具是怎么使用的?使用指南
  2. django创建验证码
  3. 30天提升技术人的写作力-第一天
  4. java运行环境_Windows系统java运行环境配置 | 吴文辉博客
  5. 域名抢注php程序_“丁真”被抢注,蹭热点这门生意,能成就好品牌?
  6. 学C++不得不看的一篇文章
  7. C#调用C语言生成的DLL“未找到入口”
  8. 手写在线计算机,在线手写
  9. 使用微信提供的云开发实现后端 微信小程序云开发的内容管理CMS
  10. Delphi的常用函数
  11. ElementUI 树形结构默认展示某个节点
  12. 《SolidWorks 2014中文版机械设计从入门到精通》——1.4 操作环境设置
  13. Ghost超级技巧一家亲
  14. PLGA-PEG-MAL +多肽A+多肽B+DOX;PLGA-PEG-MAL +DOX
  15. 喜欢变形金刚的小可爱看过来!
  16. Java基础之《JVM性能调优(3)—堆》
  17. python生成矩阵导出excel_Python xlwt导出excel完整版
  18. 计算机模拟风洞,Dlubal RWIND Simulation Pro 1.2 - 风荷载模拟 (风洞)软件
  19. unity splash image android,Unity Splash Image 与 Launch场景的背景图无缝衔接
  20. 【解决】台式电脑开机键坏了怎么办?|电脑关机后如何远程进行开机?

热门文章

  1. 【转】ABAP的坑4
  2. ABAP实现农历转成公历
  3. ALEIDoc EDI(1)--OverView
  4. SM35/BDC Record / Log 导出
  5. AgilePoint模型驱动BPM(业务流程管理)介绍
  6. 关于oracle数据库的操作的命令
  7. java gridbag_java – 调整Gridbag布局
  8. adobe reader java_使用PDF框设置的表单字段值在Adobe Reader中不可见
  9. 一个空值_java匠人手法优雅的处理空值
  10. android透明视频教程,安卓透明教程(Android transparent tutorial).doc