图像的阈值处理

阈值处理函数

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()  # 释放所有窗体

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值