cv2图像处理-阈值处理
·
cv2的各种阈值处理,首先转灰度图,根据像素强度和阈值(要么大于阈值保留、要么小于阈值保留,或者置为最大值255,或者截断等等对图像进行处理
目前学习到这里,感觉是用于物体检测等进行的图片边界分割;另外之前学PS时也常常涉及色调等的处理,感觉这是可以通过代码自己调节的
代码
import cv2
img_dir = r"D:\python\ims.webp"
img = cv2.imread(img_dir)
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
ret, img2 = cv2.threshold(img_gray, 112, 255, cv2.THRESH_BINARY)
ret3, img3 = cv2.threshold(img_gray, 112, 255, cv2.THRESH_BINARY_INV)
ret4, img4 = cv2.threshold(img_gray, 112, 255, cv2.THRESH_TRUNC)
ret5, img5 = cv2.threshold(img_gray, 112, 255, cv2.THRESH_TOZERO)
ret6, img6 = cv2.threshold(img_gray, 112, 255, cv2.THRESH_TOZERO_INV)
ret9, img9 = cv2.threshold(img_gray, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)
img7 = cv2.adaptiveThreshold(img_gray, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 5, 3)
img8 = cv2.adaptiveThreshold(img_gray, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 5, 3)
img_dict = {'img': img, 'gray': img_gray,
'BINARY': img2, 'BINARY_INV': img3,
'TRUNC': img4,
'TOZERO': img5, 'TOZERO_INV': img6,
'adaptive': img7, 'adaptive_g': img8,
'OTSU': img9}
# 展示图片
for k, v in img_dict.items():
cv2.imshow(k, v)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 保存图片
dir_ = "D:/python/arm/img_thr"
for k, v in img_dict.items():
cv2.imwrite(f"{dir_}/{k}.jpg", v)
img、gray、BINARY、BINARY_INV、TRUNC





TOZERO、TOZERO_INV、adaptive、adaptive_g、OTSU





更多推荐
所有评论(0)