cv2.threshold()
时间: 2023-10-14 18:10:44 浏览: 44
`cv2.threshold()`是OpenCV中用于二值化图像的函数。它将灰度图像转换为二进制图像,其中所有像素的值只能是0或255。
该函数的原型是:
```
cv2.threshold(src, threshold, maxval, type[, dst]) → retval, dst
```
其中,参数的含义如下:
- `src`: 输入图像,必须是灰度图。
- `threshold`: 阈值,用于将像素分成两类:小于等于阈值和大于阈值。
- `maxval`: 如果像素值大于阈值,则赋值为`maxval`;否则赋值为0。
- `type`: 阈值化操作的类型,有以下几种类型:
- `cv2.THRESH_BINARY`: 二值化操作,如果像素值大于阈值,则赋值为`maxval`;否则赋值为0。
- `cv2.THRESH_BINARY_INV`: 反二值化操作,如果像素值小于阈值,则赋值为`maxval`;否则赋值为0。
- `cv2.THRESH_TRUNC`: 截断操作,如果像素值大于阈值,则赋值为阈值;否则保持原值不变。
- `cv2.THRESH_TOZERO`: 取零操作,如果像素值小于阈值,则赋值为0;否则保持原值不变。
- `cv2.THRESH_TOZERO_INV`: 反取零操作,如果像素值大于阈值,则赋值为0;否则保持原值不变。
- `dst`: 输出图像,如果指定了该参数,则将结果写入该图像中。
该函数的返回值包括:
- `retval`: 返回的阈值。
- `dst`: 输出图像。如果没有指定`dst`参数,则返回一个元组`(retval, dst)`,其中`retval`是返回的阈值,`dst`是输出图像。
阅读全文