【发布时间】:2016-06-08 06:16:15
【问题描述】:
我最近尝试将 Emgu 库从 2.4.2 升级到 3.0.0。因此版本发生了重大变化,我在修改代码以使其工作时遇到了一些麻烦。
Emgu 的 2.4.2 版本有一个 Contour 类:http://www.emgu.com/wiki/files/2.4.2/do ... Index.html
我的代码使用它,有时我使用 RemoveAt 方法删除点或使用 Insert 方法添加点。我的初始轮廓可能包含异常点(由于各种标准,例如曲率、相邻点之间的距离等)
我在新版本的 Emgu 中尝试使用 VectorOfPoint 类。它适用于我的大部分代码,但它仍然没有(据我所知)任何等效的 RemoveAt 方法。它似乎有类似于 Insert 方法(Push 方法:http://www.emgu.com/wiki/files/3.0.0/document/html/9f6838b0-d946-adc6-e14e-8f223079f5e3.htm)的东西,虽然我不确定它是否正是我想要的。
我进一步研究了这个问题,发现 Mat 类有一个 PushBack 和 PopBack 方法,它允许您在一个序列的结尾。但是,正如我之前的代码一样,我正在删除某些位置的元素(RemoveAt 方法允许您输入要删除的元素的索引 i)。
例如,这是我之前使用 RemoveAt 方法的方式:
for (int i = nPoints - 1; i >= 0; i--)
{
if (!goodPoint[i])
{
shapeContour.RemoveAt(i);
continue;
}
}
我没有看到可以在新版本的 Emgu 中使用的直接函数。我弄错了吗?
如果有任何帮助,我将不胜感激。提前致谢。
【问题讨论】:
-
您究竟需要什么帮助? How to Ask您应该将相关代码添加到问题中,并为您正在使用的编程语言和相关库添加标签。