cv2.threshold函数的用法
时间: 2023-08-03 20:41:53 浏览: 107
`cv2.threshold()` 是一个用于图像阈值化的函数,它可以将图像中的像素值进行二值化或多值化处理,使像素值只保留在特定的范围内。`cv2.threshold()` 函数的用法如下:
```python
retval, dst = cv2.threshold(src, thresh, maxval, type)
```
其中:
- `src`:表示输入图像,必须为灰度图像。
- `thresh`:表示设定的阈值。
- `maxval`:表示当像素值超过阈值时,所赋予的新值,一般为一个白色像素值(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,否则不变。
`cv2.threshold()` 函数返回两个值:
- `retval`:表示在二值化和反二值化时使用的阈值。
- `dst`:表示输出图像,与 `src` 大小相同,像素值为二值化后的值。
下面是一个简单的例子,演示如何使用 `cv2.threshold()` 函数对一张灰度图像进行二值化处理:
```python
import cv2
# 读取灰度图像
img = cv2.imread('image.jpg', cv2.IMREAD_GRAYSCALE)
# 二值化处理
retval, dst = cv2.threshold(img, 128, 255, cv2.THRESH_BINARY)
# 显示原图和处理后的图像
cv2.imshow('src', img)
cv2.imshow('dst', dst)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
阅读全文