温馨提示:本文最后更新于
2025-06-12 11:54:04
,某些文章具有时效性,若有错误或已失效,请在下方留言。图像二值化的目的是简化图像的处理难度,基本原理是以图像的某个阈值为分界线,小于阈值的为0,大于阈值的设置为某个特定值。
OpenCV 提供以下的方法进行二值化处理threshold(src, thresh, MaxVal, type) -> tuple[float, UMat]
参数:
– src: 需要处理的图像
– thresh: 特定的阈值
– MaxVal:大于阈值设置的特定值
– type: 算法类型
返回值:
– float:二值化是否成功
– UMat:二值化处理后的图片
示例代码
# 使用OpenCV进行二值化
import cv2
# 读取图片
image = cv2.imread('IMG_1433.png')
# 显示原图
cv2.imshow('image', image)
# 将图片转换为灰度图
# COLOR_BGR2GRAY 将BGR格式转换为灰度图
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# 二值化
# THRESH_BINARY 将灰度图转换为二值图
# 参数100表示阈值,超过100的像素点变为255(白色),否则变为0(黑色)
ret, binary = cv2.threshold(gray, 100, 255, cv2.THRESH_BINARY)
# 显示二值化后的图片
cv2.imshow('gray', binary)
# 等待按键事件,参数为0表示无限等待
key = cv2.waitKey(0)
if key & 0xFF == ord('q'):
# 如果按下的是'q'键,则关闭窗口
cv2.destroyAllWindows()
原图

二值化的图片

© 版权声明
THE END
暂无评论内容