opencv完成图像的二值化和腐蚀膨胀,python
时间: 2023-08-28 07:04:38 浏览: 101
基于opencv的图像腐蚀和膨胀程序
3星 · 编辑精心推荐
好的,以下是使用OpenCV和Python进行图像二值化、腐蚀和膨胀的代码示例:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('input.png', 0)
# 图像二值化
ret, thresh = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)
# 定义结构元素
kernel = np.ones((5,5), np.uint8)
# 腐蚀操作
erosion = cv2.erode(thresh, kernel, iterations=1)
# 膨胀操作
dilation = cv2.dilate(thresh, kernel, iterations=1)
# 显示图像
cv2.imshow('Input', img)
cv2.imshow('Threshold', thresh)
cv2.imshow('Erosion', erosion)
cv2.imshow('Dilation', dilation)
# 等待按键
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在代码中,首先使用`cv2.imread()`函数读取输入图像。接下来,使用`cv2.threshold()`函数将图像二值化,将像素值大于阈值的像素设置为255,小于等于阈值的像素设置为0。
然后,使用`np.ones()`函数定义一个5x5的结构元素,用于后续的腐蚀和膨胀操作。使用`cv2.erode()`函数对二值化后的图像进行腐蚀操作,使用`cv2.dilate()`函数对二值化后的图像进行膨胀操作。
最后,使用`cv2.imshow()`函数将各个图像显示出来,并使用`cv2.waitKey()`函数等待按键操作。
阅读全文