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表示,因为有人习惯使用数字表示下面类型,故列出。
- 从上到下可以使用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中二值化函数相关介绍和参数,具体还需要在实践中不断调整合适的参数以适应自己的任务。