【问题标题】:How to make regular triangle mesh in opencv?如何在opencv中制作正三角形网格?
【发布时间】:2016-05-03 13:17:32
【问题描述】:

我已经搜索但没有成功。 是否可以在 opencv 中创建正三角形网格?

【问题讨论】:

  • opencv 基本上是用于计算机视觉的。也许 OpenMesh openmesh.org 有一些创建正三角形网格的功能。
  • 感谢您的回答。我问过opencv,因为我想将网格应用到有孔的二进制图像中。我一直在寻找有效的方法来创建具有图像的网格。
  • 抱歉,我不明白:您想从图像创建网格(3d 重建),还是从网格创建图像(渲染)?最好添加一些示例图像并解释您想要获得的内容。这可能会比 1-liner 更有可能找到一些答案。
  • 如果要从图像创建网格,通常有 2 个步骤: 1. 从 2D 图像重建稀疏或密集点。 2. 从这些重建点创建一个三角形网格。第一个任务是计算机视觉任务,第二个任务更多是计算机图形任务。因此,opencv 更有可能解决第一个任务而不是第二个任务:OpenCV 有一个 delauny 三角测量函数,afaik。
  • 二维网格。我想“网格化”一个表面,厚度为 0。例如从这里:dl.dropboxusercontent.com/u/710615/withframe.png 到这里:dl.dropboxusercontent.com/u/710615/tooverlay.jpg 第二张图不是很好,只是为了更容易理解

标签: python opencv mesh


【解决方案1】:

您可以使用cv::Subdiv2D 进行三角测量。这是link to C++ and Python examples

但如果我没记错的话,我认为这个实现不能处理漏洞。

我还建议您查看 C 库 Triangle。除了许多其他有用的东西外,它还允许您指定孔。显然,存在几个wrappers for Python(但我从未使用过它们)。

【讨论】:

  • 我试过 subdiv2d,但它无法处理孔:\ 我认为要解决的第一个问题是如何获取孔、面、顶点的列表。
猜你喜欢
  • 2020-12-15
  • 2013-01-04
  • 2017-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多