Подключенные компоненты обращаются к значениям матрицы

Я пытаюсь классифицировать подключенный компонент в видео на основе его местоположения. Я использую функцию connectedComponentsWithStats из opencv 3. Я пытаюсь получить доступ к значениям из матрицы статистики, которая представляет собой матрицу 1×5. Когда я использую следующий код, я получаю доступ к области подключенного компонента успешно.

connectedComponentsWithStats(median_difference3, labels, stats, centroids, 8, CV_16U);

int area= stats.at<int>(0,4);
cout << area << endl;

Когда я пытаюсь получить доступ к первому значению матрицы, используя

int x= stats.at<int>(0,0);

Все значения, которые я получаю, равны нулю.

Просто для подтверждения, когда я вывожу полную статистическую матрицу, значения в позиции 0,0 матрицы не всегда равны нулю, поэтому они должны меняться так же, как матрица площади. Значения в матрице статистики также всегда целые.

Буду признателен за помощь, если вы видите, что я сделал неправильно!

0

Решение

Первая строка статистики относится к фону:

От доктор

statsv — вывод статистики для каждой метки, включая фоновую метку

Вы можете просто проверить количество строк stats чтобы узнать, есть ли у вас какой-либо компонент переднего плана, или проверьте количество меток, возвращаемых connectedComponentsWithStats,

0

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

Других решений пока нет …