注意:之前我问过这个问题,但是它被复制了,但是,我和其他几个人认为它过分关闭了,我在原版
post的编辑中解释了原因.所以我想重新提出这个问题又是在这里.
有没有人知道可以在两行之间插值的python库.例如,假设下面有两条实线,我想在中间产生虚线.换句话说,我想获得中心线.输入只是两个numpy坐标数组,分别为N x 2和M x 2.
此外,我想知道是否有人在一些优化的python库中为此编写了一个函数.虽然优化不是必要的.
这是我可能拥有的两条线的示例,您可以假设它们彼此不重叠,并且x / y可以具有多个y / x坐标.
array([[ 1233.87375018, 1230.07095987],
[ 1237.63559365, 1253.90749041],
[ 1240.87500801, 1264.43925132],
[ 1245.30875975, 1274.63795396],
[ 1256.1449357 , 1294.48254424],
[ 1264.33600095, 1304.47893299],
[ 1273.38192911, 1313.71468591],
[ 1283.12411536, 1322.35942538],
[ 1293.2559388 , 1330.55873344],
[ 1309.4817002 , 1342.53074698],
[ 1325.7074616 , 1354.50276051],
[ 1341.93322301, 1366.47477405],
[ 1358.15898441, 1378.44678759],
[ 1394.38474581, 1390.41880113]])
array([[ 1152.27115094, 1281.52899302],
[ 1155.53345506, 1295.30515742],
[ 1163.56506781, 1318.41642169],
[ 1168.03497425, 1330.03181319],
[ 1173.26135672, 1341.30559949],
[ 1184.07110925, 1356.54121651],
[ 1194.88086178, 1371.77683353],
[ 1202.58908737, 1381.41765447],
[ 1210.72465255, 1390.65097106],
[ 1227.81309742, 1403.2904646 ],
[ 1244.90154229, 1415.92995815],
[ 1261.98998716, 1428.56945169],
[ 1275.89219696, 1438.21626352],
[ 1289.79440676, 1447.86307535],
[ 1303.69661656, 1457.50988719],
[ 1323.80994319, 1470.41028655],
[ 1343.92326983, 1488.31068591],
[ 1354.31738934, 1499.33260989],
[ 1374.48879779, 1516.93734053],
[ 1394.66020624, 1534.54207116]])
可视化我们有:
因此,我尝试使用skimage.morphology库中的skeletonize函数,首先将坐标栅格化为填充的多边形.但是,我会在这样的结尾处进行分支: