条纹中心线提取 基于灰度投影python
时间: 2023-07-04 10:20:25 浏览: 163
灰度投影特征的提取
3星 · 编辑精心推荐
条纹中心线提取可以通过灰度投影方法实现,下面是基于Python的实现代码:
```python
import cv2
import numpy as np
# 读入图像
img = cv2.imread('stripes.jpg', 0)
# 求出灰度投影
proj = np.sum(img, axis=1)
# 设置投影阈值
thresh = np.max(proj) * 0.5
# 将投影大于阈值的行提取出来
rows = np.where(proj > thresh)[0]
# 将提取出来的行画在图像上
for r in rows:
cv2.line(img, (0, r), (img.shape[1], r), 255, 1)
# 显示结果
cv2.imshow('Stripes', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
上述代码中,`cv2.imread`函数读入图像,`np.sum`函数对图像进行灰度投影,`np.where`函数找到投影大于阈值的行,然后用`cv2.line`函数画出提取出来的行。最后用`cv2.imshow`函数显示结果。
阅读全文