python 实现图片边缘化膨胀
时间: 2024-06-11 22:08:08 浏览: 10
下面是 Python 中使用 OpenCV 库实现图片边缘化膨胀的代码:
```python
import cv2
import numpy as np
# 读取原始图片
img = cv2.imread('image.jpg')
# 将图片转换为灰度图
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 通过阈值处理将灰度图二值化
_, thresh = cv2.threshold(gray, 150, 255, cv2.THRESH_BINARY)
# 定义膨胀核
kernel = np.ones((5,5), np.uint8)
# 进行膨胀操作
dilation = cv2.dilate(thresh, kernel, iterations=1)
# 在原始图片上绘制边缘
contours, hierarchy = cv2.findContours(dilation, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
cv2.drawContours(img, contours, -1, (0,255,0), 2)
# 显示结果
cv2.imshow('Original image', img)
cv2.imshow('Edge detection', dilation)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个代码中,我们首先读取一张原始图片,然后将其转换为灰度图,并通过阈值处理将其二值化。接着,我们定义了一个 5 x 5 的膨胀核,并利用 `cv2.dilate` 函数对二值化图像进行了一次膨胀操作。最后,我们通过 `cv2.findContours` 函数找到了膨胀后的边缘,并将其绘制在了原始图片上。最后将两个图片都显示出来。
运行这个代码,你将会看到边缘化膨胀后的图片。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)