擅长:python、mysql、java
<p>好的,谢谢拉胡尔的回答</p>
<p>我最终找到了一个软件包,帮助我转换多边形,解决了我的问题</p>
<p>下载时附带:</p>
<pre><code>pip install sect
</code></pre>
<p>然后:</p>
<pre><code>from sect.triangulation import constrained_delaunay_triangles
</code></pre>
<p>以openCV生成的等高线为例,如下所示</p>
<p><a href="https://i.stack.imgur.com/ihQfT.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/ihQfT.jpg" alt="enter image description here"/></a></p>
<p>然后“平滑”颜色,以减少颜色。我用过这个</p>
<pre><code>epsilon = 0.005 * cv2.arcLength(contour, True)
approx = cv2.approxPolyDP(contour, epsilon, True)
</code></pre>
<p>然后在门派中运行它</p>
<pre><code>constrained_delaunay_triangles([tuple(x) for x in approx.squeeze()])
</code></pre>
<p>输出将多边形拆分为三角形,完全删除所有凹多边形</p>
<p><a href="https://i.stack.imgur.com/ducb0.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/ducb0.jpg" alt="enter image description here"/></a></p>