import cv2
import matplotlib.pyplot as plt
# 读取图片
img = cv2.imread("lina.jpg",cv2.IMREAD_GRAYSCALE)
# 超过部分取最大值,否则为0
ret,thresh1 = cv2.threshold(img,127,255,cv2.THRESH_BINARY)
# BINARY的反转
ret,thresh2 = cv2.threshold(img,127,255,cv2.THRESH_BINARY_INV)
# 大于阈值部分取阈值,否则不变
ret,thresh3 = cv2.threshold(img,127,255,cv2.THRESH_TRUNC)
# 大于阈值部分不改变,否则设为0
ret,thresh4 = cv2.threshold(img,127,255,cv2.THRESH_TOZERO)
# TOZERO的反转
ret,thresh5 = cv2.threshold(img,127,255,cv2.THRESH_TOZERO_INV)
title = ["Original","BINARY","BINARY_INV","TRUNC","TOZERO","TOZERO_INV"]
img = [img,thresh1,thresh2,thresh3,thresh4,thresh5]
for i in range(6):
plt.subplot(2,3,i+1),plt.imshow(img[i],"gray")
plt.title(title[i])
# plt.xticks([]),plt.yticks([])
plt.show()
OpenCV-图像阈值
最新推荐文章于 2024-06-12 23:45:58 发布