一、图像阈值
· ret , dst = cv2.threshold(src,thresh,maxval,type)
· src: 输入图,只能输入单通道的图像,通常来说为灰度图
· dst:输出图
·ret : 返回的阈值
· thresh:阈值
· maxval:当像素值超过了阈值(或者小于阈值,根据type来决定),所赋予的值
· type : 二值化操作的类型,有5种,遇到的时候再查找
image_cat = cv2.imread(自己的图像路径",cv.IMREAD_GRAYSCALE)
ret, thresh1 = cv2.threshold(image_cat,127,255,cv.THRESH_BINARY)
thresh1 = cv2.resize(thresh1,(500,500))
cv_show("阈值",thresh1)
二、图像平滑处理(滤波)
(1)均值滤波
对于边缘的像素点,只求和滤波器能框住的像素点。
(2)方框滤波
做归一化时和均值滤波一样,没归一化会越界,所有越界值全区255
(3)高斯滤波
滤波器中的数值符合高斯分布,离计算的像素点近的权重高一些,离的远的权重小一些。
(4)中值滤波
取,排好序的中间值
# 图像平滑
image = cv.imread("自己图像的路径")
# 均值滤波,可看作一个简单的平均卷积操作
blur = cv2.blur(image,(3,3))#(3,3)卷积核的大小
cv_show("input",blur)
# 方框滤波,基本和均值一样,可以选择归一化
box = cv.boxFilter(image,-1,(3,3),normalize=True)
# 高斯滤波
aussian = cv.GaussianBlur(image,(3,3),1)
cv_show("input",image)
# 中值滤波
median = cv.medianBlur(image,5)
cv_show("input",median)
# 展示所有
# res = np.hstack((blur,aussian,median))
# print(res)
# cv_show("input",res)



