【发布时间】:2020-05-11 16:24:16
【问题描述】:
我正在开发一个 DIY 3d 扫描仪项目。我将使用一个非常常见的算法。
请参阅此处:https://lesagegp.wordpress.com/2013/12/04/laser-scanning-explained/
我已经完全理解了这个算法并为它写了一个代码。我现在要做的就是处理图像。我已经捕获了几张图像进行测试。这是其中之一:
我已经设法用一个非常简单的代码找到了激光的轮廓:
image = cv2.imread("frame/1.png")
image = cv2.flip(image, 1)
hsv_frame = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
low_red = np.array([161, 155, 84])
high_red = np.array([179, 255, 255])
red_mask = cv2.inRange(hsv_frame, low_red, high_red)
contour = cv2.findContours(red_mask, cv2.RETR_TREE, cv2.CHAIN_APPROX_NONE)[0]
draw_it = cv2.drawContours(image, contour, -1, (0, 255, 0), 3)
cv2.imshow("contour",draw_it)
现在我要做的就是在轮廓内部或轮廓的内边缘绘制一条折线或类似的东西。就像本例中的蓝线:
有没有办法做到这一点并获取该线的坐标?提前致谢。
【问题讨论】:
-
你在寻找轮廓的中轴吗?
-
@Micka 中轴或内轴很好。我只想得到一条线而不是轮廓。
标签: python python-3.x opencv image-processing python-imaging-library