中文 opencv threshold
时间: 2023-09-16 13:07:22 浏览: 152
OpenCV threshold Demo code V2
5星 · 资源好评率100%
阈值化 (thresholding) 是一种在图像处理中常用的操作,它通过将像素值与一个阈值进行比较,将像素分为两类:大于阈值的像素和小于阈值的像素。在 OpenCV 中,阈值化可以使用函数 cv2.threshold() 实现。
函数原型如下:
```python
retval, dst = cv2.threshold(src, thresh, maxval, type)
```
参数说明:
- src:输入图像,必须是灰度图像。
- thresh:阈值,用于将像素分为两类。
- maxval:当像素值大于阈值时,赋予的新值。
- type:阈值化类型,包括以下几种:
- cv2.THRESH_BINARY:二值化阈值化,大于阈值的像素赋值为 maxval,小于阈值的像素赋值为 0。
- cv2.THRESH_BINARY_INV:反二值化阈值化,大于阈值的像素赋值为 0,小于阈值的像素赋值为 maxval。
- cv2.THRESH_TRUNC:截断阈值化,大于阈值的像素赋值为 thresh,小于阈值的像素保持不变。
- cv2.THRESH_TOZERO:被零阈值化,大于阈值的像素保持不变,小于阈值的像素赋值为 0。
- cv2.THRESH_TOZERO_INV:反被零阈值化,大于阈值的像素赋值为 0,小于阈值的像素保持不变。
函数返回值:
- retval:计算出的阈值。
- dst:输出图像,与输入图像大小、类型相同。
示例代码:
```python
import cv2
img = cv2.imread('lena.jpg', cv2.IMREAD_GRAYSCALE) # 读入灰度图像
retval, dst = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY) # 二值化阈值化
cv2.imshow('dst', dst)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
运行结果:
![thresholding](https://img-blog.csdn.net/20180522105851821?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poYW5nd2VuZ2pp/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/85/blog_pic_1.jpg)
阅读全文