教程:2 opencv+python图像处理进阶
讲解老师:贾志刚
1.1 进阶主要内容概述:图像卷积与应用,直方图应用,模板匹配,图像金字塔
1.2 模糊与卷积原理
上图显示为一维和二维的均值卷积示例
相关Api : blur
代码示例
import cv2 as cv
def blur_demo():
src = cv.imread("D:/javaopencv/test1.png")
cv.imshow("input", src)
dst = cv.blur(src, (15, 15))
cv.imshow("blur image", dst)
if __name__ == "__main__":
blur_demo()
cv.waitKey(0)
cv.destroyAllWindows()
补充,图像模糊(平滑)的作用,一般的主要目的是对图像噪声的消除,
1.3 均值与高斯模糊
上述代码示例为均值模糊,
对于均值模糊,卷积核系数相同,而高斯模糊卷积核系数不同,如中间的数值最大,往两边走越来越小,构造一个小的高斯包。
使用的api :GaussianBlur()
示例代码:
import cv2
import numpy as np
import matplotlib.pyplot as plt
img = cv2.imread('flower.jpg',0) #直接读为灰度图像
for i in range(2000): #添加点噪声
temp_x = np.random.randint(0,img.shape[0])
temp_y = np.random.randint(0,img.shape[1])
img[temp_x][temp_y] = 255
blur = cv2.GaussianBlur(img,(5,5),0)
plt.subplot(1,2,1),plt.imshow(img,'gray')#默认彩色,另一种彩色bgr
plt.subplot(1,2,2),plt.imshow(blur,'gray')
1.4 统计滤波器
见opencv+python图像处理进阶教程学习记录(二)