cv.threshold()
时间: 2024-11-14 12:15:53 浏览: 5
继承层次结构-odbc api 开发教程
`cv.threshold()`是OpenCV库中的核心函数,用于进行二值化(thresholding)操作。其基本语法如下:
```python
cv.threshold(src, thresh, maxval, type[, dst, mask[, borderType]])
```
参数解释如下:
- `src`: 输入图像,可以是8位无符号单通道(uchar),也可以是浮点型(如float32)。
- `thresh`: 阈值,决定了图像从原色调变为目标色调(通常是0和255)的灰度级临界点。
- `maxval`: 目标值,当像素灰度超过`thresh`时,该像素的最终值会被设置为这个`maxval`。如果是`uchar`类型的输入,通常设置为255(对应于白色);如果是`float32`,则设置为1(或0)表示高阈值(或低阈值)。
- `type`: 阈值计算类型,常见的包括:
- `cv.THRESH_BINARY` (0): 灰度值大于等于`thresh`的像素变成白色,否则保持原来的颜色(通常是黑色)。
- `cv.THRESH_BINARY_INV` (1): 灰度值大于等于`thresh`的像素变成黑色,否则是白色。
- `cv.THRESH_TRUNC` (2): 将所有像素的灰度值截断到`thresh`。
- `cv.THRESH_TOZERO` (4) 和 `cv.THRESH_TOZERO_INV` (8): 分别对应小于`thresh`的像素变为0,其余不变;大于等于`thresh`的像素变为0,其余不变。
- `dst`: 输出数组,如果没有提供,默认会在当前工作空间创建一个新的数组。
- `mask`: 可选,可以用来指定输出数组的区域,未指定则全图参与处理。
- `borderType`: 边缘处理模式,例如`cv.BORDER_CONSTANT`用于填充边界。
`cv.threshold()`主要用于简单的边缘检测、物体分离以及初步的图像分类等应用场景。
阅读全文