原理

卷积,有时也叫算子。用一个模板去和另一个图片对比,进行卷积运算。目的是使目标与目标之间的差距变得更大。卷积在数字图像处理中最常见的应用为锐化和边缘提取。
边缘提取,假如目标像素点和它周边的值(上下左右前后的临点,具体的比邻范围依赖于算子的大小,3*3的算子比邻范围为1,5*5的为2,以此类推)得有较大差异,那么就可以通过这个算子对原图矩阵中的这个位置进行卷积运算,得出的值和该像素点原来的灰度值会产生显著的差异。当这种前后差异超过我们预设的范围后,就将这个像素点标记为0(白色),其余点标记为255(黑色),这样就得到了一黑色为背景,白色线条作为边缘或形状的边缘提取效果图。
锐化算子:通过卷积运算,可以增大矩阵每一个元素与周边元素的方差,轻则起到锐化作用,重则成了边缘提取。反之,则是去噪过程。这种矩阵运算 可以在空间域上,图像经过量化其实就是以矩阵的形式存在的。

运算方法

假设卷积核h为

待处理矩阵x为

求x*h

  1. 将卷积核旋转180°,即

  2. 将卷积核h的中心对准x的第一个元素,然后h和x重叠的元素相乘,h中不与x重叠的地方x用0代替,再将相乘后h对应的元素相加,得到结果矩阵中Y的第一个元素。如:

    所以结果矩阵中的第一个元素Y11 = -1 * 0 + -2 * 0 + -1 * 0 + 0 * 0 + 0 * 1 + 0 * 2 + 1 * 0 + 2 * 5 + 1 * 6 = 16

  3. x中的每一个元素都用这样的方法来计算,得到的卷积结果矩阵为

图像卷积原理及运算方法相关推荐

  1. 图像卷积原理及MATLAB实现

    数字图像卷积原理,matlab的conv2函数,不使用con2函数实现卷积 图像卷积原理 卷积,Convolution.卷积是两个变量在某范围内相乘后求和的结果.如果卷积的变量是序列x(n)和h(n) ...

  2. gcn在图像上的应用_每日摘要|基于CNN 特征的图像卷积网络识别杂草和作物

    文章信息 标题:CNN feature based graph convolutional network for weed and crop recognition in smart farming ...

  3. 计算机组成原理笔算乘法改进,计算机组成原理(唐朔飞)运算方法 PPT.ppt

    计算机组成原理(唐朔飞)运算方法 PPT.ppt (62页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 23.9 积分 第6章 教 学 内 容§6.1 无 ...

  4. 深度学习:图像的卷积原理和本质(详解)。

    首先,介绍图像卷积的计算过程. 在计算机视觉领域,卷积核.滤波器通常为较小尺寸的矩阵,比如3×33×3.5×55×5等,数字图像是相对较大尺寸的2维(多维)矩阵(张量),图像卷积运算与相关运算的关系如 ...

  5. CV:计算机视觉技术之图像基础知识(二)—以python的skimage和numpy库来了解计算机视觉图像基础(图像存储原理-模糊核-锐化核-边缘检测核,进阶卷积神经网络(CNN)的必备基础)

    CV:计算机视觉技术之图像基础知识(二)-以python的skimage和numpy库来了解计算机视觉图像基础(图像存储原理-模糊核-锐化核-边缘检测核,进阶卷积神经网络(CNN)的必备基础) 目录 ...

  6. python二维图颜色函数_Python scipy的二维图像卷积运算与图像模糊处理操作示例

    本文实例讲述了Python scipy的二维图像卷积运算与图像模糊处理操作.分享给大家供大家参考,具体如下: 二维图像卷积运算 一 代码 import numpy as np from scipy i ...

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

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

  8. python 图像卷积_[卷积神经网络(CNN)中的卷积核到底是如何提取图像特征的(python实现图像卷积运算)]...

    1.前言 我们知道,卷积核(也叫滤波器矩阵)在卷积神经网络中具有非常重要的作用.说白了,CNN主要作用在于提取图像的各种特征图(feature maps). CNN主要是通过卷积运算来完成特征提取的. ...

  9. 基于MATLAB的图像卷积运算

    卷积简介 卷积广泛应用于信号.图像和机器学习等领域,但是对于非数学专业的同学来说,是一个比较陌生和懵懂的概念.卷积(Convolution)是数学上的一种积分变换,主要作用是为了获取某个函数的局部信息 ...

最新文章

  1. 牛客 [编程题] 回文解码
  2. Functional Language
  3. NotificationManagerService使用详解与原理分析(一)
  4. zabbix 3.0.0beta1安装-centos6.8版本
  5. dotNET:怎样处理程序中的异常(实战篇)?
  6. 01-MyBatis入门程序
  7. JavaScript实现继承的几种方式
  8. 05NumPy--5.1多维数组
  9. springBoot项目启动去掉多余的启动日志
  10. 【翻译自mos文章】Oracle GoldenGate 怎么在源头的传输进程和目的端的server/collector进程之间分配 port?...
  11. ubuntu 安装 sublime
  12. C++简介(5)STL
  13. html转义字符表(转)
  14. bash 单引号 双引号_Bash Shell中的单引号和双引号有什么区别?
  15. Python进行Excel数据统计
  16. 什 么 是ECP、EPP ?
  17. 使用tensorflow构建一个卷积神经网络
  18. 时尚简约风格的ae字幕条模板
  19. 【高级UI】【026】手动为RecyclerView添加橡皮筋拉伸回弹效果
  20. 主机端的入侵检测,难啃到让人想放弃!

热门文章

  1. Java如何获取IP属地 ip2region failed to create searcher with x:java.io.FileNotFoundException:( 系统找不到指定的路径)
  2. 量子计算机分解时间,量子计算机如何分解两个质数乘积
  3. 【Leetcode】644. Maximum Average Subarray II
  4. 【IDEA】idea插件的安装和删除
  5. python的分支语句if基本用法
  6. VisualBasic使用CDO发送SSL加密邮件【我TM还是太年轻了】
  7. 《死亡搁浅》:在“联结”的世界里,是 “个人”在游戏中
  8. 交互设计师必须知道的五大交互设计流程
  9. CreateCompatibleDC 和 CreateCompatibleBitmap
  10. 台式计算机虚拟内存怎么设置,教你怎么设置电脑的虚拟内存