cv2.threshold使用方法全部
时间: 2023-08-03 16:34:47 浏览: 61
cv2.threshold()是OpenCV中用于图像二值化的函数。它的使用方法如下:
```python
retval, dst = cv2.threshold(src, thresh, maxval, type)
```
参数解释:
- `src`: 输入的图像,必须是单通道灰度图像。
- `thresh`: 阈值,用于将图像二值化,取值范围为0-255。
- `maxval`: 当像素值大于阈值时,所赋的值,取值范围为0-255。
- `type`: 二值化操作的类型,有以下几种:
- `cv2.THRESH_BINARY`: 当像素值大于阈值时,所赋值为`maxval`,否则为0。
- `cv2.THRESH_BINARY_INV`: 当像素值大于阈值时,所赋值为0,否则为`maxval`。
- `cv2.THRESH_TRUNC`: 当像素值大于阈值时,所赋值为阈值,否则不变。
- `cv2.THRESH_TOZERO`: 当像素值大于阈值时,不变,否则为0。
- `cv2.THRESH_TOZERO_INV`: 当像素值大于阈值时,为0,否则不变。
返回值:
- `retval`: 阈值,返回实际使用的阈值。
- `dst`: 输出的二值化图像。
示例:
```python
import cv2
img = cv2.imread('image.jpg', 0) # 读入灰度图像
ret, thresh1 = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY) # 二值化操作
ret, thresh2 = cv2.threshold(img, 0, 255, cv2.THRESH_BINARY_INV+cv2.THRESH_OTSU) # Otsu二值化操作
cv2.imshow('Threshold', thresh1)
cv2.imshow('Otsu Threshold', thresh2)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
以上代码中,`cv2.THRESH_BINARY`和`cv2.THRESH_BINARY_INV`分别使用了二值化和Otsu二值化操作。