python opencv图像二值化
时间: 2023-06-13 07:02:50 浏览: 113
图像二值化是将一幅灰度图像转化为二值图像的过程,即将像素点的灰度值设定为0或255,也就是将图像上的所有像素点转化为黑或白。在Python中,使用OpenCV库可以很方便地实现图像二值化。以下是一个简单的例子:
```python
import cv2
# 读取图像
img = cv2.imread('image.png', 0)
# 阈值化处理
ret, thresh = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)
# 显示图像
cv2.imshow('binary image', thresh)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
说明:
- `cv2.imread('image.png', 0)`:读取图像,参数0表示灰度图像。
- `cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)`:图像阈值化处理,将灰度值大于127的像素点变为255(白色),灰度值小于等于127的像素点变为0(黑色)。
- `cv2.imshow('binary image', thresh)`:显示二值化后的图像。
- `cv2.waitKey(0)`:等待用户按下任意键退出。
- `cv2.destroyAllWindows()`:关闭所有窗口。
以上代码中,阈值127是需要根据具体情况进行调整的。如果阈值设置得太高,图像中的细节会丢失;如果阈值设置得太低,图像中的噪点会增加。因此,在进行图像二值化时,需要根据实际情况调整阈值,以达到最佳效果。
阅读全文