OpenCV—二值化Threshold()、adaptiveThreshold()

cv2.threshold()

  • c++:double cv::threshold ( InputArray src,
    OutputArray dst,
    double thresh,
    double maxval,
    int type
    ) (注:源图片, 目标图, 阈值, 填充色, 阈值类型)
python:cv.threshold(src,
 thresh, 
 maxval, 
 type[, dst])
src:源图片
thresh:阈值,取值范围0~255
maxval:填充色,取值范围0~255
type:阈值类型
  • type
    • 从上到下可以使用0、1、2、3、4、7、8、16表示,因为有人习惯使用数字表示下面类型,故列出。
#将图像中小于100的置为0,大于100的置为255
temp = cv2.threshold(img, 100, 255, cv2.THRESH_BINARY)

cv2.adaptiveThreshold()

  • python:dst = cv.adaptiveThreshold( src, maxValue, adaptiveMethod, thresholdType, blockSize, C[, dst])
    • maxValue:赋给满足条件的像素非零值
    • adaptiveMethod:自适应阈值算法
      • ADAPTIVE_THRESH_MEAN_C :(x,y)-C 的blockSize×blockSize内的均值
      • ADAPTIVE_THRESH_GAUSSIAN_C :(x,y)-C的blockSize×blockSize邻域的加权和(高斯窗口的互相关)
    • thresholdType:阈值类型,必须为THRESH_BINARY或THRESH_BINARY_INV
    • BlockSize:用于计算像素阈值的像素邻域大小:3,5,7,等。
    • C:从平均值或加权平均值中减去的常数。通常,它是正的,但也可能是零或负的。
# 例子
 mask = cv2.adaptiveThreshold(sgray, 
 255, 
 cv2.ADAPTIVE_THRESH_MEAN_C,
 cv2.THRESH_BINARY_INV,
 55,
 25)

至此大致了解了Opencv中二值化函数相关介绍和参数,具体还需要在实践中不断调整合适的参数以适应自己的任务。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值