opencv — c ++ вектор векторов размера следующего столбца

Я пишу код для сопоставления некоторых шаблонов с использованием cv :: matchTemplate, но у меня возникли проблемы с созданным мной 2-мерным вектором векторов (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, теперь я хочу сопоставить их по одному.

0

Решение

Кажется, вы сделали ошибку здесь:

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

iCa индекс на «первом уровне» вектора (размером 2 в вашем примере выше), то есть столбцы, и вы используете его для прохождения элементов «второго уровня» вектора, то есть строк.

0

Другие решения

Большое спасибо, ребята, особенно. JGab, после нескольких отладочных выходов, я наконец обнаружил, что мой вектор векторов не заполнялся так, как я думал … еще раз спасибо и мои извинения за запоздалый ответ.

0

По вопросам рекламы [email protected]