一条曲线如何用代码找到两个端点(起始点和结束点)?

Viewed 41

原问题描述:图像中的一条曲线,想通过代码找到这条曲线的起始点和结束点的坐标。尝试过通过相邻8个点来寻找端点,但是曲线的粗细不是全为1个像素,所以没办法设定端点的判断条件;把曲线进行骨架提取,不能完整的做到曲线粗细为1个像素,有些地方会出现断开,曲线被分散了好几条。各位大佬遇到这种情况是怎样处理的?可以提供一下思路

期望用灵闪来实现

v2-9966eff3894533ec80590a0e5f6d55e1_1440w.jpg

v2-29d2ea48d6038f812dfaaedd067b0ef4_1440w.jpg

1 Answers

灵闪版本3.8.66.1 task:曲线端点.zip
1.先用二值化分割出干净的曲线
2.用轮廓定位检测曲线边缘,为了将断开的曲线连成一体,这边需要将轮廓定位的和尺寸改大!
3.用多边形修改(平滑)过滤毛燥燥的轮廓
4.对平滑后的轮廓执行角点检测即可得到边缘点位置
image.png
image.png