学习资料参考:

张平.《OpenCV算法精解:基于Python与C++》.[Z].北京.电子工业出版社.2017.


基础概念

二维离散卷积是在两个矩阵的基础上的一种计算方式,如下所示:
I=(1234)I=\begin{pmatrix} 1 & 2 \\ 3 & 4 \\ \end{pmatrix}I=(13​24​),K=(−1−221)K=\begin{pmatrix} -1 & -2 \\ 2 & 1 \\ \end{pmatrix}K=(−12​−21​).

计算方式为:

  1. 将KKK进行逆时针旋转180o180^o180o,则K=(12−2−1)K=\begin{pmatrix} 1 & 2 \\ -2 & -1 \\ \end{pmatrix}K=(1−2​2−1​).
  2. 将矩阵KKK沿着III按照先行后列的顺序移动,每移动一个位置,就进行对应位相乘求和。演示过程如下所示:

    得到矩阵C=(−1−4−4−1−5−66114)C = \begin{pmatrix} -1 &-4 & -4 \\ -1 & -5 & -6 \\ 6 & 11 & 4\end{pmatrix}C=⎝⎛​−1−16​−4−511​−4−64​⎠⎞​,矩阵CCC的高与宽满足:
    矩阵C的高 = 矩阵I的高 + 矩阵K的高 - 1; 矩阵C的宽 = 矩阵I的宽 + 矩阵K的宽 - 1;
    而矩阵KKK就称为卷积核,或者卷积算子。

卷积种类

  1. full卷积

    full卷积形式橙色部分为卷积算子。
    边界扩充方式:
  • 在红色矩阵边界外填充常数,通常进行的是0扩充。
  • 重复红色矩阵边界处的行和列,对输入矩阵进行扩充。
  • 以矩阵边界为中心,令矩阵外某位置上未定义的灰度值等于图像内其镜像位置的灰度值,该种方式会产生最小的影响。
  1. same卷积

same卷积形式橙色部分为卷积算子,相比较于ful形式重合部分更多,即卷积算子的中心处于红色部分中时开始计算,在合适的步长情况可保证输入与输出图像大小一致。很明显same卷积是full卷积的子集。
3. valid卷积

卷积算子只存在于原图中。

图像平滑之二维离散卷积相关推荐

  1. opencv 学习笔记五 二维离散卷积

    卷积的用途: 卷积主要用于降噪处理,是降噪处理的一种方式: 二维离散卷积包含高斯滤波,平滑滤波,中值滤波,以及能保证图像边缘的双边滤波和导向滤波算法等: 一.了解噪声的来源以及噪声的分类: 图像中难免 ...

  2. Python实现二维离散卷积运算

    Python实现二维离散卷积运算 卷积运算是图像处理中的重要操作,它可以对图像进行平滑.增强边缘等处理.在Python中,我们可以使用numpy库来实现二维离散卷积运算. 首先,我们需要定义一个二维滤 ...

  3. 在OpenCV里实现二维离散卷积1

    在前面学习的内容主要是对图像进行增强的操作,不过图像可能还有某种干扰的像素,这些像素可能是由噪声引起的,噪声可以理解为由一种或多种原因造成的灰度值的随机变化,比如电磁波通讯时受到干扰.为了解决这个问题 ...

  4. 【OpenCV 例程200篇】54. OpenCV 实现图像二维卷积

    [OpenCV 例程200篇]54. OpenCV 实现图像二维卷积 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 ...

  5. 【OpenCV 例程200篇】53. Scipy 实现图像二维卷积

    [OpenCV 例程200篇]53. Scipy 实现图像二维卷积 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 滤 ...

  6. opencv图像处理中的一些滤波器+利用滤波器提取条形码(解析二维码)+公交卡倾斜矫正+物体尺寸丈量

    一般来说,图像的能量主要集中在其低频部分,噪声所在的频段主要在高频段,同时图像中的细节信息也主要集中在其高频部分,因此,如何去掉高频干扰同时又保持细节信息是关键.为了去除噪声,有必要对图像进行平滑,可 ...

  7. python图像卷积_图像处理——卷积原理、二维卷积python实现

    一:什么是卷积 离散卷积的数学公式可以表示为如下形式: f(x) =  - 其中C(k)代表卷积操作数,g(i)代表样本数据, f(x)代表输出结果. 举例如下: 假设g(i)是一个一维的函数,而且代 ...

  8. 基于二维切片图序列的三维立体建模MATLAB仿真

    目录 1.算法概述 2.仿真效果预览 3.核心MATLAB程序 4.完整MATLAB程序 1.算法概述 isosurface 等值面函数 调用格式: fv = isosurface(X,Y,Z,V,i ...

  9. 三维网格去噪算法(L0范数最小化,包含二维图像去噪)

    参考文章(技术来源):Mesh denoising via L0 minimization 上面参考文章提出了一种基于L0范数最小化的三角网格去噪算法.该思想由二维图像平滑引申而来,所以先从基于L0范 ...

最新文章

  1. android 常用混淆,Android常用的代码混淆整理【原创】
  2. 用border-width,border-color画三角形
  3. python内置数字类型转换函数_Python学习 Day2-2 Python3的基本数据类型、数据内置类型转换函数...
  4. “Xavier”安卓木马分析:可静默收集数据并远程代码执行
  5. 【MySQL】查看 mysql 数据库最后修改时间、创建时间、表大小
  6. Qt中颜色选择框输出所选中的颜色值
  7. 推荐一些可以将QQ截取的gif图片修改为循环播放的软件
  8. 2010-04-01 4over6tunnel配置——折腾了一天
  9. 批量同时创建邮箱和AD账户
  10. vscode误更新后,无法连接服务器,报“Acquiring lock on/home/~”和“过程试图写入的管道不存在”错误
  11. 微信小程序android和IOS拨打电话区别
  12. Android 10.0 SystemUI状态栏屏蔽掉通知栏不显示通知
  13. C++(30)—奇偶数判断
  14. 重装Win10系统后导致网速卡的解决办法
  15. Spring各jar包的作用
  16. 学讲普通话水平测试软件,普通话智能学习软件
  17. P84-前端基础动画效果-动画3D复仇者联盟练习
  18. MacOS 10.13.6 下装xcode 流程
  19. 怎么样给小孩取名字?给孩子起名字也不是一件难事
  20. 4.9-11 ebook 小问题,自摘记,书城首页开发完毕。

热门文章

  1. 五证 两书 三表
  2. vue 日期时间选择器_Vue日期时间选择器
  3. C语言中struct typedef 以及结构体指针用法
  4. 腾讯云SOC方案入选CIC工信安全优秀解决方案
  5. 基于stm32f1(正点原子)的tft_lcd(ILI9341)学习
  6. 服务器机架的型号,机架式服务器的机柜尺寸定义
  7. 基于微信电脑版HOOK开发的一套成品工具(可下载)
  8. shell 批量修改文件名
  9. wavelet introduction
  10. ubuntu 设置输入法