阈值处理函数
import cv2
img = cv2.imread("D:/cv2/black.png", 0) # 将图像读成灰度图像
t1, dst1 = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY) # 二值化阈值处理
cv2.imshow('img', img) # 显示原图
cv2.imshow('dst1', dst1) # 二值化阈值处理效果图
cv2.waitKey() # 按下任何键盘按键后
cv2.destroyAllWindows() # 释放所有窗体
import cv2
img = cv2.imread("D:/cv2/black.png", 0) # 将图像读成灰度图像
t1, dst1 = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY) # 二值化阈值处理
t2, dst2 = cv2.threshold(img, 210, 255, cv2.THRESH_BINARY) # 调高阈值效果
cv2.imshow('dst1', dst1) # 展示阈值为127时的效果
cv2.imshow('dst2', dst2) # 展示阈值为210时的效果
cv2.waitKey() # 按下任何键盘按键后
cv2.destroyAllWindows() # 释放所有窗体
反二值化处理
import cv2
img = cv2.imread("D:/cv2/black.png", 0) # 将图像读成灰度图像
t1, dst1 = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY) # 二值化阈值处理
t4, dst4 = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY_INV) # 反二值化阈值处理
cv2.imshow('dst1', dst1) # 展示二值化效果
cv2.imshow('dst4', dst4) # 展示反二值化效果
cv2.waitKey() # 按下任何键盘按键后
cv2.destroyAllWindows() # 释放所有窗体
零处理
import cv2
img = cv2.imread("D:/cv2/black.png", 0) # 将图像读成灰度图像
t6, dst6 = cv2.threshold(img, 127, 255, cv2.THRESH_TOZERO_INV) # 超出阈值零处理
cv2.imshow('img', img) # 显示原图
cv2.imshow('dst6', dst6) # 超出阈值零处理效果图
cv2.waitKey() # 按下任何键盘按键后
cv2.destroyAllWindows() # 释放所有窗体
import cv2
img = cv2.imread("D:/cv2/black.png", 0) # 将图像读成灰度图像
t1, dst1 = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY) # 二值化阈值处理
t7, dst7 = cv2.threshold(img, 127, 255, cv2.THRESH_TRUNC) # 截断处理
cv2.imshow('dst1', dst1) # 展示二值化效果
cv2.imshow('dst7', dst7) # 展示截断效果
cv2.waitKey() # 按下任何键盘按键后
cv2.destroyAllWindows() # 释放所有窗体
import cv2
image = cv2.imread("D:/cv2/4.36.jpg") # 读取4.36.jpg
image_Gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # 将4.36.jpg转换为灰度图像
t1, dst1 = cv2.threshold(image_Gray, 127, 255, cv2.THRESH_BINARY) # 二值化阈值处理
# 实现Otsu方法的阈值处理
t2, dst2 = cv2.threshold(image_Gray, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)
cv2.putText(dst2, "best threshold: " + str(t2), (0, 30),
cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 0), 2) # 在图像上绘制最合适的阈值
cv2.imshow("BINARY", dst1) # 显示二值化阈值处理的图像
cv2.imshow("OTSU", dst2) # 显示实现Otsu方法的阈值处理
cv2.waitKey() # 按下任何键盘按键后
cv2.destroyAllWindows() # 销毁所有窗口
import cv2
img = cv2.imread("D:/cv2/car.jpg") # 原始图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 转为灰度图像
t1, dst1 = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY) # 二值化阈值处理
t2, dst2 = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY_INV) # 反二值化阈值处理
cv2.imshow("img", img) # 显示图像
cv2.imshow("gray", gray)
cv2.imshow("dst1", dst1)
cv2.imshow("dst2", dst2)
cv2.waitKey() # 按下任何键盘按键后
cv2.destroyAllWindows() # 释放所有窗体