python 盲道分割的代码
时间: 2023-11-12 14:04:01 浏览: 95
盲道检测分割C++推理代码
以下是 Python 中的盲道分割代码:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('image.jpg', 0)
# 中值滤波去噪
img = cv2.medianBlur(img, 5)
# 自适应阈值二值化
thresh = cv2.adaptiveThreshold(img, 255, cv2.ADAPTIVE_THRESH_MEAN_C,
cv2.THRESH_BINARY, 11, 2)
# 膨胀操作,增强连通性
kernel = np.ones((3, 3), np.uint8)
thresh = cv2.dilate(thresh, kernel, iterations=1)
# 查找轮廓
_, contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE,
cv2.CHAIN_APPROX_SIMPLE)
# 画矩形框并保存结果
for contour in contours:
x, y, w, h = cv2.boundingRect(contour)
cv2.rectangle(img, (x, y), (x+w, y+h), (0, 255, 0), 2)
cv2.imwrite('result.jpg', img)
```
以上代码实现了盲道分割的基本流程,包括图像读取、中值滤波、自适应阈值二值化、膨胀操作、查找轮廓以及画矩形框等操作。其中自适应阈值二值化和膨胀操作可以根据具体情况进行调整,以得到更好的分割效果。
阅读全文