OpenCV--图像阈值

OpenCV–图像阈值

作用:依次遍历单通道图像中的每一个像素点,如果超过所设置的阈值,则按到相应的方法将将该像素点从新赋值。

函数:

retval, dst = cv.threshold( src, thresh, maxval, type[, dst] )

  • retval:设置的阈值;
  • dst:返回处理的图像;
  • src:输入的图像;
  • thresh:阈值;
  • maxval:当像素值超过了阈值(或者小于阈值,根据type来决定),所赋予的值;
  • type:二值化操作的类型,包含以下5种类型,
    • cv2.THRESH_BINARY :超过阈值部分取maxval(最大值),否则取0
    • cv2.THRESH_BINARY_INV : THRESH_BINARY的反转
    • cv2.THRESH_TRUNC : 大于阈值部分设为阈值,否则不变
    • cv2.THRESH_TOZERO : 大于阈值部分不改变,否则设为0
    • cv2.THRESH_TOZERO_INV :THRESH_TOZERO的反转

代码示例:

cat_gray = cv.imread("./img/cat.jpg", 0)

ret1, dst1 = cv.threshold(cat_gray, 127, 255, cv.THRESH_BINARY)
ret2, dst2 = cv.threshold(cat_gray, 127, 255, cv.THRESH_BINARY_INV)
ret3, dst3 = cv.threshold(cat_gray, 127, 255, cv.THRESH_TRUNC)
ret4, dst4 = cv.threshold(cat_gray, 127, 255, cv.THRESH_TOZERO)
ret5, dst5 = cv.threshold(cat_gray, 127, 255, cv.THRESH_TOZERO_INV)


titles = ['Original Image', 'Binary', 'Binary_inv', 'Trunc', 'Tozero', 'Tozero_inv']
images = [cat_gray, dst1, dst2, dst3, dst4, dst5]

for i in range(6):
    plt.subplot(2, 3, i+1), plt.imshow(images[i], "gray")
    plt.title(titles[i])
    plt.xticks([]), plt.yticks([])
    
plt.show()   

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值