python中 cv2.threshold的用法
时间: 2023-10-28 07:03:07 浏览: 86
基于python的cv2 模块常用方法及使用
`cv2.threshold()` 是 OpenCV 中图像处理的一个函数,用于对图像进行二值化处理。其函数原型如下:
```python
cv2.threshold(src, thresh, maxval, type[, dst])
```
其中,参数含义如下:
- `src`:输入的图像,必须是单通道(灰度)图像,且数据类型为 `numpy.ndarray`。
- `thresh`:用于进行二值化处理的阈值,必须为整数类型。
- `maxval`:当像素值超过阈值时,所赋予的最大值,也必须为整数类型。
- `type`:二值化处理的类型,包括以下 5 种:
- `cv2.THRESH_BINARY`:当像素值大于阈值时,赋值为 `maxval`,否则赋值为 0。
- `cv2.THRESH_BINARY_INV`:当像素值大于阈值时,赋值为 0,否则赋值为 `maxval`。
- `cv2.THRESH_TRUNC`:当像素值大于阈值时,赋值为阈值,否则保持原像素值。
- `cv2.THRESH_TOZERO`:当像素值大于阈值时,保持原像素值,否则赋值为 0。
- `cv2.THRESH_TOZERO_INV`:当像素值大于阈值时,赋值为 0,否则保持原像素值。
- `dst`:输出的图像,与输入图像大小相同,数据类型为 `numpy.ndarray`。
示例:
```python
import cv2
img = cv2.imread('test.jpg', 0) # 读入灰度图像
ret, thresh = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY) # 进行二值化处理
cv2.imshow('thresh', thresh) # 显示二值化处理结果
cv2.waitKey(0)
cv2.destroyAllWindows()
```
上述代码中,我们通过 `cv2.imread()` 函数读入了一张灰度图像,然后使用 `cv2.threshold()` 函数对其进行二值化处理,最终将处理结果显示出来。
阅读全文