关键单词:
blur:模糊形状
美 [blɜr] 英 [blɜː(r)]
median:中数;中值;
美 [ˈmidiən] 英 [ˈmiːdiən]
Gaussian:高斯的
美 ['gaʊsɪən] 英 ['gaʊsɪən]
几个术语:
噪声:图像中有一些没用的、多余的像素点。
滤波器(或者说卷积):用来去除图像的噪声点,平滑图像。
滤波核(或者叫卷积核):它是n*n像素大小的小方块,n为奇数,为了方便的获取中心像素。
滤波器会遍历图像上所有的像素点,并修改滤波核的中心像素。
均值滤波器:工作原理,累加滤波核里的像素值,求出平均像素值,赋值给中心像素点。
import cv2
image1 = cv2.imread("01.png", 1)
gray1 = cv2.cvtColor(image1, cv2.COLOR_RGB2GRAY) # 灰度图像
t1, des1 = cv2.threshold(gray1, 127, 255, cv2.THRESH_BINARY) # 没滤波的二值化
cv2.imshow("GRAY__________", gray1)
cv2.imshow("GRAY_BINARY___", des1)
blur = cv2.blur(image1, (3, 3)) # 均值滤波
gray2 = cv2.cvtColor(blur, cv2.COLOR_RGB2GRAY) # 灰度图像
t2, des2 = cv2.threshold(gray2, 127, 255, cv2.THRESH_BINARY) # 均值滤波后二值化
cv2.imshow("BLUR__________", gray2)
cv2.imshow("BLUR_BINARY___", des2)
cv2.waitKey()
cv2.destroyAllWindows()
中值滤波器:工作原理,排序滤波核里的像素值,把排在中间的像素值,赋值给中心像素点。
高斯滤波器:工作原理,滤波核的中心像素,更像离它近的像素,没那么像离它远的像素。
import cv2
image1 = cv2.imread("C:\\Users\\Strong\\Desktop\\cv\\01.png", 1)
gray = cv2.cvtColor(image1, cv2.COLOR_RGB2GRAY)
t1, des = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
blur = cv2.blur(gray, (3, 3)) # 均值滤波
median = cv2.medianBlur(gray, 3) # 中值滤波
gaussian = cv2.GaussianBlur(gray, (3, 3), 0, 0) # 高斯滤波
cv2.imshow("GRAY____________", des)
cv2.imshow("BLUR____________", blur)
cv2.imshow("MADIAN__________", median)
cv2.imshow("GUASSIAN________", gaussian)
cv2.waitKey()
cv2.destroyAllWindows()