图像阈值处理threshold函数(python)

图像阈值函数为:

ret,dst = cv2.threshold(src,thresh,maxval,type)

参数说明:

ret:设置的阈值,数值等于thresh
dst:输出图
src:输入图,只能输入单通道图像,通常来说为灰度图
thresh:阈值
maxval:最大值,当像素值超过了阈值(或者小于阈值,根据type来决定),所赋予的值
type:二值化操作的类型,包含以下5种类型:cv2.THRESH_BINARY;cv2.THRESH_BINARY_INV;cv2.THRESH_TRUNC;cv2.THRESH_TOZERO;cv2.THRESH_TOZERO_INV

类型说明

1.cv2.THRESH_BINARY表示阈值的二值化操作,超过阈值部分取maxval(最大值),小于阈值部分取0
2. cv2.THRESH_BINARY_INV表示cv2.THRESH_BINARY的反转,大于阈值部分取0,小于阈值部分取maxval(最大值)
3. cv2.THRESH_TRUNC表示进行截断操作,大于阈值部分设为阈值,小于阈值部分不变
4. cv2.THRESH_TOZERO表示进行化零操作,大于阈值部分不变,小于阈值部分取0
5. cv2.THRESH_TOZERO_INV 表示cv2.THRESH_TOZERO的反转,大于阈值部分取0,小于阈值部分不变
下面是这5种类型的使用例子:

ret, thresh1 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_BINARY)
ret, thresh2 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_BINARY_INV)
ret, thresh3 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_TRUNC)
ret, thresh4 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_TOZERO)
ret, thresh5 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_TOZERO_INV)

因为ret一般用不到,一般我们只取返回的第二个参数即可

dst = cv2.threshold(src,thresh,maxval,type[1]

例子为

thresh1 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_BINARY)[1]
thresh2 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_BINARY_INV)[1]
thresh3 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_TRUNC)[1]
thresh4 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_TOZERO)[1]
thresh5 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_TOZERO_INV)[1]
  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值