图片卷积

之前的csdn博客:https://blog.csdn.net/weixin_63866037/article/details/127150062
图像卷积就是卷积核在图像上按行滑动遍历像素时不断的相乘求和的过程,卷积核一般都是奇数
image.png

  • 步长
    • 步长就是卷积核在图像上移动的步幅
  • padding
    • 从上面例子中我们发现,卷积之后图片的长宽会变小.如果要保持图片大小不变,我们需要在图片周围填充0。padding指的就是填充的0的圈数.
    • 我们可以通过公式计算出需要填充的0的圈数
    • image.png
    • image.png
  • 奇数原因:
  • image.png
  • cv.filter2D(src,ddepth,kernel[,dst[,anchor[,delta[,borderType]]]])
  • image.png
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    #!/usr/bin/env python
    # -*- coding: UTF-8 -*-
    """
    @Project :Opencv学习
    @File :卷积.py
    @IDE :PyCharm
    @Author :咋
    @Date :2023/1/13 19:43
    """
    import cv2
    import numpy as np
    image = cv2.imread("Handsome.jpg")
    image = cv2.resize(image,(640,480))
    # 定义3*3卷积核,不同的卷积核会有不同的效果,这里相当于模糊的效果
    kernel = np.ones((5,5),np.int32)/25
    # 进行卷积操作
    filter_img = cv2.filter2D(image,-1,kernel)
    cv2.imshow("filter_img",np.hstack((image,filter_img)))
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    image.png