图像处理中的卷积运算一般都用来平滑图像、尖锐图像求边缘等等

七个参数分别表示:(原图,目标图,图像深度,核函数,模板中心点,delta,边界类型)
一般卷积操作只涉及到前五个参数。

原文链接:

1.Filter是一个非常耗时的操作,不过OpenCV的Filter写法比较特别

这里把原理解析一下,就可以编写自己的filter代码

OpenCV的Filter2D代码解析

2.下面这篇是对官方文档的一个翻译:

opencv学习(七)之图像卷积运算函数filter2D()

作者自己写了一段代码,重点在:

Mat kern = (Mat_<char>(3,3) << 0, -1 ,0,-1, 5, -1,
                               0, -1, 0);Mat dstImage;filter2D(srcImage,dstImage,srcImage.depth(),kern);

这里的srcImage.depth()可以写为-1,表示=目标图像和原图像深度保持一致。

最后给出官方文档的定义:

定义如下:

void filter2D( InputArray src, OutputArray dst, int ddepth,InputArray kernel, Point anchor=Point(-1,-1),double delta=0, int borderType=BORDER_DEFAULT );

参数说明:(一般只写前5个参数)

InputArray src: 输入图像

OutputArray dst: 输出图像,和输入图像具有相同的尺寸和通道数量

int ddepth: 目标图像深度,如果没写将生成与原图像深度相同的图像。当ddepth输入值为-1时,目标图像和原图像深度保持一致。

InputArray kernel: 卷积核(或者是相关核),一个单通道浮点型矩阵。如果想在图像不同的通道使用不同的kernel,可以先使用split()函数将图像通道事先分开。

Point anchor: 内核的基准点(anchor),其默认值为(-1,-1)说明位于kernel的中心位置。基准点即kernel中与进行处理的像素点重合的点。

double delta: 在储存目标图像前可选的添加到像素的值,默认值为0

int borderType: 像素向外逼近的方法,默认值是BORDER_DEFAULT,即对全部边界进行计算。

filter2D图像卷积相关推荐

  1. 【opencv】25.图像卷积cv::filter2D()以及c++代码实例

    自己写图像锐化函数: #include <iostream> #include <opencv2/core.hpp> #include <opencv2/highgui. ...

  2. OpenCV学习笔记(十)——图像卷积(cv.filter2D()、矩阵旋转cv.filp())

    目录 1 图像卷积过程 2 cv.filter2D() 3 cv.filp() 卷积运算在信号处理中十分常见,而图像信息可以看成一种信号.例如,图像的每一行可以看出测量亮度变化的信号,而每一列可以看作 ...

  3. OpenCV 图像卷积:cv.filter2D() 函数详解

    API 照例,我们搬一下官网的 API: C++ void cv::filter2D(InputArray src,OutputArray dst,int ddepth,InputArray kern ...

  4. 【OpenCV 4开发详解】图像卷积

    本文首发于"小白学视觉"微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社发行所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4 ...

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

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

  6. 【python+opencv】图像卷积及滤波

    目录 1.噪声的分类 2.图像卷积 2.1单次卷积操作 2.2对整幅图像卷积 2.3完整卷积过程 3.opencv中的卷积-filter2D函数 4.卷积中的padding填充(边界填充) 5.pad ...

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

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

  8. OpenCV下利用傅里叶变换和逆变换实现图像卷积算法,并附自己对于卷积核/模板核算子的理解

    图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 学过信号与系统的人都知道,卷积运算一般是转化成频 ...

  9. VTK:图像卷积用法实战

    VTK:图像卷积用法实战 程序输出 程序完整源代码 程序输出 程序完整源代码 #include <vtkImageActor.h> #include <vtkImageCast.h& ...

最新文章

  1. Fragment之底层关键操作函数moveToState
  2. java窗口怎么实现修改密码_【求助】Java中如何实现更改windows密码
  3. Chrome控制台使用详解
  4. Hi3516A开发-- UBI 文件系统使用指南
  5. VTK:IO之ReadDICOM
  6. 学水利的想转行计算机,为什么说千万别学水利水电工程?附水利八大院排名2020年(最新)...
  7. HTML DOM之属性的各种操作方法
  8. linux 间隔定时器,Linux间隔定时器的使用 探索一
  9. leetcode —— 面试题29. 顺时针打印矩阵
  10. 使用cv::findFundamentalMat要注意的几点
  11. mysql archive分区_MYSQL-分区表
  12. java项目之人事管理系统|HRM(java毕业设计Struts2、mybatis框架项目
  13. 领域驱动设计核心概念
  14. VUE引入JsBarcode组件异常记录
  15. Android 12 源码下载、编译与烧录到Pixel 3a
  16. 实现平方根函数sqrt
  17. 傅里叶级数的通俗理解
  18. 重庆医科大学赵浏阳教授招收博士、招聘博士后
  19. Blast2GO使用方法详解(命令界面)
  20. [声纹识别]语音识别系统框架[1]

热门文章

  1. 还想带薪拉屎?想太多了小伙子
  2. The Joel Test(祖尔测试)
  3. ubuntu关机时间长问题解决
  4. oracle获取rowid,Oracle中的ROWID实现
  5. Dev中ChartControl添加限定线
  6. mysql的float取值范围_mysql float精度与范围总结 - numeric
  7. GD32450Z U盘通信教程——使用USBHS利用内部全速PHY作为USB MSC主机实现U盘通信
  8. Baumer相机baumer相机USB相机使用时出现USB驱动安装失败,导致相机无法使用
  9. Auto.js定时器
  10. linux通配符详解