0

我正在编写一个代码来使用 cv::matchTemplate 进行一些模板匹配,但是我遇到了我创建的向量的二维向量 (vov) 的一些问题,我称之为 vvABC。目前,我的 vov 有 10 个元素,可以根据我在运行代码时传递的值进行更改。

我的问题是从我的 vov 中的一列移动到下一列,以便我可以计算大小。根据我对 vov 工作原理的理解,如果我将元素存储在我的 vov 中:

C_A  C_B
 0    0
 1    1
 2    2
      3
      4
      5
      6

要计算第一列的大小,我应该简单地执行以下操作: vvABC[0].size() 来获取第一列的大小(在这种情况下会给出 3)和 vvABC[1].size()获得第二列的大小(这将给出 7)。我现在面临的问题是他们在两种情况下都给出'3',这显然是错误的。

有人可以帮助我了解如何获得下一列的正确大小吗?

我将我的检测结果存储在我的 vvABC 中,现在我想一次匹配一个。

4

2 回答 2

0

看来您在这里犯了一个错误:

for (uint iCaTemplate = iCa + 1; iCaTemplate < vvABC[iCa].size(); ++iCaTemplate) {

iCa是向量的“第一级”(在上面的示例中大小为 2)上的索引,即列,您使用它来遍历向量的“第二级”的元素,即行。

于 2013-10-11T19:07:59.477 回答
0

非常感谢大家,尤其是。JGab,经过几次调试输出,我终于发现我的向量向量并没有像我想象的那样被填满……再次感谢并为我迟来的回复道歉。

于 2013-10-20T13:39:59.417 回答