前提条件
使用工具python3.x
使用库numpy;opencv,
api简介
1.cv.blur()
对某一方向进行模糊操作
2.cv.medianBlur()
中值模糊
2.cv.filter2D
对图片进行2D卷积
代码示例
import cv2 as cvimport numpy as npdef blurDemo(image): dst = cv.blur(image, (1,15)) #(1,15)=>(rows,cols) 水平方向和垂直方向模糊 cv.imshow('blurDemo',dst)def medianBlurDemo(image): #中值模糊,降噪(就是除去斑点,小黑点),根据卷积原理 dst = cv.medianBlur(image, 5) cv.imshow("medianBlurDemo", dst)def customBlurDemo(image):#自定义中值模糊 #5*5的卷积核 #5*5=25 # kernel = np.ones([5,5], np.float32)/25 #保证不溢出255 #3*3=9 # kernel = np.array([[1,1,1],[1,1,1],[1,1,1]], np.float32)/9 #里面数组的值和为0,1 0:提取边缘。1:增强对比度什么的 #几种操作 kernel = np.array([[0,-1,0],[-1,5,-1],[0,-1,0]], np.float32) # kernel = np.array([[0,-1,-1],[-1,5,-1],[0,-1,0]], np.float32) dst = cv.filter2D(image, -1, kernel=kernel) #进行2D卷积 cv.imshow("customBlurDemo", dst) #输出卷积结果src=cv.imread("D:/openCV_image/image/1.png")# src=cv.imread("D:/openCV_image/image/2_2.png")print(src)cv.namedWindow("input image",cv.WINDOW_AUTOSIZE)cv.imshow("input image",src)# blurDemo(src)# medianBlurDemo(src)customBlurDemo(src)cv.waitKey(0)cv.destroyAllWindows()