如何利用filter2D函数进行图像卷积

 时间:2026-02-15 11:02:23

1、在OpenCV说明文档中可以看到函数的定义及参数意义

七个参数分别表示:(原图,目标图,图像深度,核函数,模板中心点,delta,边界类型)

一般卷积操作只涉及到前五个参数。

如何利用filter2D函数进行图像卷积

2、首先需要载入进行卷积操作的图像并所它转换为浮点类型

g_srcImage = imread(".\\sourcePicture\\3.bmp");

g_srcImage.convertTo(g_srcImage, CV_32F);

如何利用filter2D函数进行图像卷积

3、根据需要定义自己的卷积核函数,下面定义了一个3*3的核函数,中心点为5

Mat myKnernel = (Mat_<double>(3, 3) << 0, -1, 0, -1, 5, -1, 0, -1, 0);

如何利用filter2D函数进行图像卷积

4、编写卷积函数,并填写相应参数

filter2D(g_srcImage, dstImage, -1, myKnernel, Point(-1, -1), 0, BORDER_DEFAULT);

其中-1表示通道数与原图通道数相同

如何利用filter2D函数进行图像卷积

5、将目标图像转换为无符号字符型并显示经过卷积后的图像

dstImage.convertTo(dstImage, CV_8UC3);

imshow("after convolution", dstImage);

如何利用filter2D函数进行图像卷积

6、上面的全部代码如下图所示

如何利用filter2D函数进行图像卷积

  • 怎么把ANSI编码文件转换为UTF-8编码
  • IIS中如何让网站自动从https跳转到https
  • vmware14pro安装mac10.10设置分辨率
  • 如何将淘宝客链接转换成淘宝正常链接?
  • Java 拆分PDF文档
  • 热门搜索
    韭菜盒子的面怎么和 怎么编曲 abc卫生巾怎么样 手机以旧换新怎么换 纤怎么组词 怎么消除马赛克 怎么折蝴蝶结 身份证过期怎么补办 韩语怎么学 微信怎么设置壁纸