import cv2 as cv
#读入灰度图
img1 = cv.imread('test.jpg',0)
#二值化阈值处理
t,dst1 = cv.threshold(img1,157,255,cv.THRESH_BINARY)
#反二值化阈值处理
dst1_1 = cv.threshold(img1,127,255,cv.THRESH_BINARY_INV)
#自适应阈值处理,采用均值计算阈值
dst1_2 = cv.adaptiveThreshold(img1,255,cv.ADAPTIVE_THRESH_MEAN_C,cv.THRESH_BINARY,5,3)
#自适应阈值处理,采用高斯均值计算阈值
dst1_3 = cv.adaptiveThreshold(img1,255,cv.ADAPTIVE_THRESH_GAUSSIAN_C,cv.THRESH_BINARY,5,3)
cv.imshow('img1',img1)
cv.waitKey(0)
cv.imshow('2',dst1)
cv.waitKey(0)
cv.imshow('3',dst1_1)
cv.waitKey(0)
cv.imshow('4',dst1_2)
cv.waitKey(0)
cv.imshow('5',dst1_3)
cv.waitKey(0)
cv.destroyAllWindows() #释放窗口
注意:
- 如果读入彩色图,将cv.imread(‘01.jpg’,0)改为cv.imread(‘01.jpg’,1)即可
- 图片路径中不能包中文,否则会报错:
OpenCV(4.5.2) C:\Users\runneradmin\AppData\Local\Temp\pip-req-build-vi271kac… - 不加 cv.waitKey(0)无法显示图片
- 最后cv.destroyAllWindows() 释放窗口
结果:
- 原图(灰度后)------二值化
- 反二值化------自适应-均值
- 自适应-高斯