个人资料,仅供学习使用
修改时间——2022年2月19日 13:28:28
学习课程:OpenCV4 图像处理与视频分析实战教程
课程讲师:贾志刚
11 图像卷积+卷积边缘处理
opencv知识点:
- 均值卷积 - blur
- 边缘处理方式 - BorderTypes
- 在图像周围形成边框 - copyMakeBorder
本课所解决的问题
- 如何理解卷积?
- 如何理解图像卷积?
- 如何实现对图像的均值卷积?
- 如何填充图像边缘?
- 如何理解卷积核的锚定点?
1.图像卷积
关于图像卷积,可以阅读 27 图像卷积操作,文章中非常详细。
2.卷积边缘处理
现在我们来详细了解一下卷积边缘处理
填充方法
常用的有如下五种填充方法:
现在我们针对BORDER_DEFAULT
方法做一个简单示例
可以看到
- 填充的长度为3
- 填充的方式为镜像
锚定点问题
填充完毕后,我们还要注意卷积核的锚定点位置
我们针对原图来说明锚定点,说明如下:
- Point(-1,-1)——卷积核与原图左边重合;卷积核与原图上边重合;锚定点位于卷积核中心
注意:卷积核大小不同,如3x3,5x5,则卷积核中心不同(偶数无核) - Point(0,0)——卷积核与原图左边重合;卷积核与原图上边重合;锚定点位于Point(0,0)
- Point(1,1)——卷积核与原图左边-1重合;卷积核与原图上边-1重合;锚定点位于Point(1,1)
- Point(2,2)——卷积核与原图左边-2重合;卷积核与原图上边-2重合;锚定点位于Point(2,2)
在填充后的图像中,原图的锚定点Point(2,2)对应填充后图像的锚定点Point(-1,-1)
所以锚定点Point(2,2)在本例中也是默认锚定点,默认的中心位置
如下是三个不同锚点的计算结果(它们的长宽与原图一致)
边缘填充演示
现在我们开始边缘填充的演示
在OpenCV中,边缘填充要用到这样一个API
- copyMakeBorder
具体介绍如下
<