Python机器视觉--OpenCV进阶(核心)--滤波器之卷积介绍

滤波器之卷积介绍

1.卷积

1.1 什么是图片卷积

图像卷积就是卷积核在图像上按行滑动遍历像素时不断的相乘求和的过程

请添加图片描述

1.2 卷积步长

步长就是卷积核在图像上移动的步幅. 上面例子中卷积核每次移动一个像素步长的结果, 如果将这个步长修改为2, 结果会如何?

为了充分扫描图片, 步长一般设为1.

请添加图片描述

1.2 Padding 填充

从上图例子中我们发现, 卷积之后图片的长宽会变小. 如果要保持图片大小不变, 我们需要在图片周围填充0. padding指的就是填充的0的圈数.
请添加图片描述

填充 Padding 圈数的计算

请添加图片描述

如果要保持卷积之后图片大小不变, 可以得出等式: ( N + 2 P − F + 1 ) = N (N + 2P - F + 1) = N (N+2PF+1)=N 从而可以推导出 P = F − 1 2 P = \frac{F -1}{2} P=2F1

1.2 卷积核的大小

图片卷积中, 卷积核一般为奇数, 比如 3 * 3, 5 * 5, 7 * 7.为什么一般是奇数呢, 出于以下两个方面的考虑:

  1. 根据上面padding的计算公式, 如果要保持图片大小不变, 采用偶数卷积核的话, 比如4 * 4, 将会出现填充1.5圈零的情况.
  2. 奇数维度的过滤器有中心,便于指出过滤器的位置, 即OpenCV卷积中的锚点.

2.OpenCV中实现卷积的函数

  • filter2D(src, ddepth, kernel[, dst[, anchor[, delta[, borderType]]]])
    • ddepth是卷积之后图片的位深, 即卷积之后图片的数据类型, 一般设为-1, 表示和原图类型一致.
    • kernel是卷积核大小, 用元组或者ndarray表示, 要求数据类型必须是float型.
    • anchor 锚点, 即卷积核的中心点, 是可选参数, 默认是(-1,-1)
    • delta 可选参数, 表示卷积之后额外加的一个值, 相当于线性方程中的偏差, 默认是0.
    • borderType 边界类型.一般不设.
# OpenCV图像卷积操作
import cv2
import numpy as np

#导入图片
img = cv2.imread('./dog.jpeg')

# 相当于原始图片中的每个点都被平均了一下, 所以图像变模糊了.
kernel = np.ones((5, 5), np.float32) / 25
# ddepth = -1 表示图片的数据类型不变
dst = cv2.filter2D(img, -1, kernel)

# 很明显卷积之后的图片模糊了.
cv2.imshow('img', np.hstack((img, dst)))

cv2.waitKey(0)
cv2.destroyAllWindows()
效果如图

请添加图片描述

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在深度学习迅速发展的今天,机器学习的应用变得越来越广泛。其中,人工智能视觉领域的应用越来越受到重视。而在人工智能视觉领域,车牌检测与识别系统应用广泛,也是一个非常重要的方向。因此,Python机器视觉实践课程设计作业--车牌检测与识别系统源码非常值得学习和探究。 本代码的实现主要分为三部分:车牌检测模块、车牌定位模块、以及车牌识别模块。首先,通过使用深度学习模型SSD检测算法,进行车牌的区域检测。接着,在检测到车牌区域后,使用车牌定位模块,对车牌进行定位,确保后续的识别操作可以准确的工作。最后,在完成车牌定位后,使用卷积神经网络模型CNN,对车牌进行图像解码和识别,获取车牌信息。 在本代码实现的过程中,除了SSD检测算法和CNN模型,还使用了一些辅助性的算法和模块。其中,二值化算法可以将车牌图片转换到黑白二值图像,能够有效的提高车牌的识别率。哈希算法可以有效的辨别车牌是否被重复检测。此外,还使用了OpenCV,PIL等图像处理相关的库,进行图像的预处理和后处理。 本代码实现了一个基本的车牌识别系统,在实践中发挥了非常重要的作用。 总之,Python机器视觉实践课程设计作业--车牌检测与识别系统源码的研究和学习,不仅可以让我们掌握深度学习图像处理的基本技术,也可以让我们更好的理解机器学习在实际生活应用中的作用和价值。如果你正在学习和探究人工智能视觉领域,这个源码是非常有价值的参考。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

扁舟钓雪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值