【笔记】opencv阈值处理 threshold函数 cv2.THRESH_BINARY ,cv2.THRESH_TRUNC) cv2.adaptiveThreshold()

【笔记】opencv阈值处理 threshold函数 cv2.THRESH_BINARY ,cv2.THRESH_TRUNC) cv2.adaptiveThreshold()像素是在模拟图像数字化时对连续空间进行离散化得到的 每个像素具有整数行 高 和列 宽 位置坐标 同时每个像素都具有整数灰度值或颜色值 二值化阈值处理 cv2 THRESH BINARY 二值化阈值处理会将原始图像处理为仅有两个值的二值图像 其针对像素点的处理方式为 在 8 位图像中 最大值是 255 因此 在对 8 位灰度图像进行二值化时 如果将阈值设定为 127 那么 所有大于 127 的像素点会被处理为 255 其余值会被处理为 0 阈值设置为 210 设置为 240 反二值化阈值处理 cv2 THR

像素是在模拟图像数字化时对连续空间进行离散化得到的。每个像素具有整数行(高)和列(宽)位置坐标,同时每个像素都具有整数灰度值或颜色值。

threshold函数

二值化阈值处理(cv2.THRESH_BINARY)

反二值化阈值处理(cv2.THRESH_BINARY_INV)

截断阈值化处理(cv2.THRESH_TRUNC))

超阈值零处理(cv2.THRESH_TOZERO_INV)

低阈值零处理(cv2.THRESH_TOZERO)

自适应阈值处理

dst2 = cv2.adaptiveThreshold(img,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.THRESH_BINARY,5,3) 

加上img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)后成功运行。

img = cv2.imread("p7.jpg") t,rst = cv2.threshold(img,200,255,cv2.THRESH_BINARY) img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) dst2 = cv2.adaptiveThreshold(img,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.THRESH_BINARY,5,3) dst = cv2.adaptiveThreshold(img, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 5, 3) cv2.imshow("r",dst) cv2.imshow("r2",dst2) print(img) # 

在这里插入图片描述

OTSU处理

在 OpenCV 中,通过在函数 cv2.threshold()中对参数 type 的类型多传递一个参数“cv2.THRESH_OTSU”,即可实现Otsu方式的阈值分割。 需要说明的是,在使用Otsu方法时,要把阈值设为0。此时的函数cv2.threshold()会自动寻找最优阈值,并将该阈值返回。例如,下面的语句让函数cv2.threshold()采用Otsu方法进行阈值分割:
t,otsu=cv2.threshold(img,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU) 与普通阈值分割的不同之处在于:
● 参数type增加了一个参数值“cv2.THRESH_OTSU”。
● 设定的阈值为0。
● 返回值t是Otsu方法计算得到并使用的最优阈值。 需要注意,如果采用普通的阈值分割,返回的阈值就是设定的阈值。








实例:

 img = cv2.imread("p7.jpg",0) t,rst = cv2.threshold(img,200,255,cv2.THRESH_BINARY) tt,rst2 = cv2.threshold(img,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU) 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/202450.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午7:06
下一篇 2026年3月20日 上午7:07


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号