OpenCV Python threshold阈值功能

举报
AI浩 发表于 2021/12/23 01:39:20 2021/12/23
【摘要】 cv2.threshhold():当像素值高于阈值时,我们给这个像素赋予一个新值,否则给他赋予另一个值 这个函数的第一个参数就是原图像,一般是灰度图(貌似非灰度图也可以)。第二个参数就是用来对像素值进行分类的阈值。第三个参数就是当像素值高于阈值时应该被赋予的新像素值。 OpenCV提供了多种不同的阈值方法,这是第四个参数。这些方法包...

cv2.threshhold():当像素值高于阈值时,我们给这个像素赋予一个新值,否则给他赋予另一个值

这个函数的第一个参数就是原图像,一般是灰度图(貌似非灰度图也可以)。第二个参数就是用来对像素值进行分类的阈值。第三个参数就是当像素值高于阈值时应该被赋予的新像素值。

OpenCV提供了多种不同的阈值方法,这是第四个参数。这些方法包括:

 

  1. cv2.THRESH_BINARY           超过阈值部分取maxval(最大值),否则取0
  2. cv2.THRESH_BINARY_INV    THRESH_BINARY的反转
  3. cv2.THRESH_TRUNC            大于阈值部分设为阈值,否则不变
  4. cv2.THRESH_TOZERO          大于阈值部分不改变,否则设为0
  5. cv2.THRESH_TOZERO_INV  THRESH_TOZERO的反转

示例代码:


  
  1. import cv2
  2. from matplotlib import pyplot as plt
  3. img = cv2.imread('00.jpg',0)
  4. ret,thresh1=cv2.threshold(img,127,255,cv2.THRESH_BINARY)
  5. ret,thresh2=cv2.threshold(img,127,255,cv2.THRESH_BINARY_INV)
  6. ret,thresh3=cv2.threshold(img,127,255,cv2.THRESH_TRUNC)
  7. ret,thresh4=cv2.threshold(img,127,255,cv2.THRESH_TOZERO)
  8. ret,thresh5=cv2.threshold(img,127,255,cv2.THRESH_TOZERO_INV)
  9. titles = ['Original Image','BINARY','BINARY_INV','TRUNC','TOZERO','TOZERO_INV']
  10. images = [img, thresh1, thresh2, thresh3, thresh4, thresh5]
  11. #pyplot的绘图方法
  12. for i in range(6):
  13. plt.subplot(2,3,i+1),plt.imshow(images[i],'gray')
  14. plt.title(titles[i])
  15. plt.xticks([]),plt.yticks([])
  16. plt.show()

文章来源: wanghao.blog.csdn.net,作者:AI浩,版权归原作者所有,如需转载,请联系作者。

原文链接:wanghao.blog.csdn.net/article/details/106052125

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。