数字图像处理:理解什么是卷积(滤波)、卷积核以及相关参考资料

☞ ░ 前往老猿Python博文目录 ░

一、概述

在图像处理领域,滤波、卷积都是相同的含义,都是一种图像的卷积操作,与此相对应通过卷积处理图像时,需要使用一个用于计算图像像素的参考矩阵,这个矩阵称为卷积核、卷积模板、滤波器、滤波模板、扫描窗,这些名词都是相同的概念。

二、卷积和卷积核概念理解

参阅了很多的参考资料(部分资料参考第三部分),对卷积这个概念老猿有了一定的理解,下面总结一下理解的关键知识点:

  • 卷积是一种数学运算,具体算法大家参考后面的参考资料
    从数学上讲卷积实际上是一种运算,由其处理的数据是否连续对应有两种函数运算,对离散数据是级数(级数是指将数列的项依次用加号连接起来的函数)运算,对连续数据是积分运算。
    由于使用两个函数的乘积以及该处理可以使用一个平面(如纸张)以左下角与平面底线成45°切割的线作为开始位置卷起来形象地解释,因此称为卷积。具体请参考后面的参考资料。

  • 图像进行卷积处理的本质
    实际上就是针对图像对应的矩阵使用一个参考矩阵(卷积核)在图像矩阵中从左到右、从上到下的进行移动,移动到指定位置时,卷积核中心元素对应的图像矩阵元素取值等于卷积核所有元素值与图像矩阵和卷积核重合范围内的对应元素相乘后相加得到的值。
    卷积核移动过程如下:
    数字图像处理:理解什么是卷积(滤波)、卷积核以及相关参考资料_第1张图片
    卷积计算请参考下图:
    数字图像处理:理解什么是卷积(滤波)、卷积核以及相关参考资料_第2张图片
    也可以观看参考资料提供的动图。

  • 图像卷积处理的边界填充
    卷积核和需要处理的矩阵运算时,由于图像边缘的像素无法取到完整的周边元素的值,因此需要处理的矩阵边缘不会被更改,导致卷积运算后的矩阵比需要处理的矩阵行列少2行2列。为了获得与需要处理图像维度相同的矩阵,需要对图像处理矩阵进行边界填充,增加2行2列。增加的方法包括补零、边界复制、镜像、块复制等。

  • 卷积核的有关规则

  1. 卷积核的大小应该是奇数,这样它才有一个中心
  2. 卷积核矩阵所有的元素之和一般应该要等于1,这是为了保证卷积前后图像的亮度保持不变。如果卷积核矩阵所有元素之和大于1,那么卷积后的图像就会比原图像更亮,反之,如果小于1,那么得到的图像就会变暗。如果和为0,图像不会变黑,但也会非常暗
  3. 对于卷积处理后的矩阵,可能会出现负数或者大于255的数值。对这种情况,可以将他们直接截断到0和255之间即可。对于负数,也可以取绝对值。
  • 卷积核矩阵不同的元素取值决定了最终卷积的效果,具体请参考下面相关资料。

三、参考资料介绍

卷积这个概念理解起来还是比较困难的,老猿查了很多资料,个人推荐大家阅读如下资料:

  • 《数字图像处理》空间滤波学习感悟2:空间相关与卷积的概念、区别及联系,这是后期老猿学习冈萨雷斯《数字图像处理》的相关知识总结,才知道本文介绍的知识虽然不能说错误,但也不能说完全准确;
  • 知乎上“马同学”的《如何通俗易懂地解释卷积?》,个人认为该文有几个方面的内容介绍得比较好,介绍了:
  1. 卷积的数学定义公式,涵盖了离散数据的级数公式及连续数据的积分公式,也说明了公式中两个函数的变量线性关系;
  2. 用卷毛巾的GIF动画说明了卷积;
  3. 用卷积核矩阵和处理矩阵的动图演示了卷积的计算过程
  • CSDN的“起点站”博主转载的《卷积及理解图像卷积操作的意义》,该博文应该是几篇文章的综合转载,有如下亮点:
  1. 使用了复利计算的例子来说明卷积
  2. 说明了卷积核矩阵和处理对象矩阵的具体元素计算方法,并举例列举了几种常用的卷积核以及图像处理效果展示
  3. 介绍了卷积处理过程的卷积核匹配过程,以及需要处理矩阵的几种边界填充方式
  • CSDN的“丑的睡不着博主”的《图像处理算法其实都很简单》,该博文亮点:
  1. 关于卷积核的一些规则要求
  2. 几种类型卷积核的图像处理效果
    类似的博文还有《常用图像卷积核小结》

四、小结

本文使用简要的语言及图像介绍了卷积(滤波)和卷积核的概念及卷积处理过程,有助于不了解卷积的初学者快速理解相关概念。同时提供了可以进一步查阅的参考文档,方便大家更深入理解卷积。

关于老猿的付费专栏

老猿的付费专栏《使用PyQt开发图形界面Python应用》专门介绍基于Python的PyQt图形界面开发基础教程,付费专栏《moviepy音视频开发专栏》详细介绍moviepy音视频剪辑合成处理的类相关方法及使用相关方法进行相关剪辑合成场景的处理,两个专栏加起来只需要19.9元,都适合有一定Python基础但无相关专利知识的小白读者学习。这2个收费专栏都有对应免费专栏,只是收费专栏的文章介绍更具体、内容更深入、案例更多。

付费专栏文章目录:《moviepy音视频开发专栏文章目录》、《使用PyQt开发图形界面Python应用专栏目录》。

关于Moviepy音视频开发的内容,请大家参考《Python音视频剪辑库MoviePy1.0.3中文教程导览及可执行工具下载》的导览式介绍。

对于缺乏Python基础的同仁,可以通过老猿的免费专栏《专栏:Python基础教程目录》从零开始学习Python。

如果有兴趣也愿意支持老猿的读者,欢迎购买付费专栏。

跟老猿学Python!

☞ ░ 前往老猿Python博文目录 ░

你可能感兴趣的:(老猿Python,图像处理基础知识,python,图形图像处理,卷积,人工智能,数字图像)