gpt4 book ai didi

algorithm - 使用 N 个点从图像创建凹多边形

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:39:38 24 4
gpt4 key购买 nike

我正在寻找一种算法,该算法将从图像中生成凹多边形(具有 N 个点,其中 N > 3 - 用户输入此值)。

我对算法的想法:

 // Every pixel in image is checked and a minimal orientated bounding box  is generated  (transparent pixels are ignored)
boundingBox = createImageBoundingBox(image);
curpoints = 4, A = 0, B = 1, tmppoints = curpoints;
while(curpoints < maxNumberOfPoints)
{
add a new point between point A and point B (A and B are points from the boundingBox)
reposition points so that it will contain the minimal surface
A++; B++;
curpoints++;

if(A == tmppoints)
{ A = 0; B = 1; tmppoints=curpoints; }
}

我面临的问题是我不知道如何最佳地重新定位点。这可以用任何其他方式完成吗(更好/更快的方式)。将不胜感激任何想法。

谢谢

编辑:

图片必须至少为 10x10。我需要 N 点参数,以便用户可以调节要使用多少点(用于优化)。另一种方法是使用一个因子 (0-1) 来告诉您希望多边形具有多少细节(多少点)(0 为 4 点,> 0 5 点或更多点)。但不确定如何实现。

最佳答案

您可以使用 delaunay 三角剖分并获得平均边长。然后尝试删除比平均值更长的边。这个概念来自 alpha 形状。

关于algorithm - 使用 N 个点从图像创建凹多边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10355821/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com