06. 模糊操作
1. 模糊操作基本原理
- 基于离散卷积
- 定义好每个卷积核
- 不同卷积核得到不同的卷积效果
- 模糊是卷积的一种表象
2. 卷积的基本原理
在计算机领域,卷积是一种基于加权求和的数学运算,用于处理信号和数据。它通过将输入信号与卷积核(也称为滤波器)进行卷积操作,从而得到输出信号。卷积核是一个小型的矩阵或向量,其中的权重用于对输入信号进行加权求和。
卷积操作的基本原理是在输入信号上滑动卷积核,将卷积核与当前位置的输入值相乘并求和,然后将结果保存到输出信号的对应位置。
3. 代码层面知识点
- 均值模糊
- 中值模糊
- 自定义模糊
- 意义与应用场合
import cv2 as cv
import numpy as np
def blur_demo(image):#均值模糊
dst = cv.blur(image, (12, 1))
cv.imshow("blur_demo", dst)
def median_demo(image):#中值模糊
dst = cv.medianBlur(image, 5)
cv.imshow("median_blur_demo", dst)
def custom_blur_demo(image):#自定义模糊
#kernel = np.array([1, 1, 1], [1, 1, 1], [1, 1, 1], np.float32) / 9
kernel = np.ones([5, 5], np.float32)/25
dst = cv.filter2D(image, -1, kernel=kernel)
cv.imshow("median_blur_demo", dst)
print("--------------Hello Python----------------")
src = cv.imread("F:/tool/PyCharm/pic/test1.jpeg")
cv.namedWindow("input image", cv.WINDOW_AUTOSIZE)
cv.imshow("input image", src)
#blur_demo(src)
#median_demo(src)
custom_blur_demo(src)
cv.waitKey(0)
cv.destroyAllWindows()