как читать данные, хранящиеся в выводе функции findcontour в opencv, используя переполнение стека

Я хочу пометить объекты в двоичном изображении, используя функцию поиска контура и функции drawcontour.

Я также хочу знать, какие данные хранятся в выходном массиве функции findcontour.

Кроме того, есть ли другие подходящие методы, чтобы сделать выше?

1

Решение

На комментарий @ berak уже ответили. Я просто добавлю к тому, как выглядит вывод. Рассмотрим изображение размером 35×62, увеличенная в 5 раз версия ниже. На изображении 6 капель или объектов, каждый из которых имеет соответствующий контур.

введите описание изображения здесь

Выше изображение было сохранено в объекте Mat im, findContour был применен как

cv::findContours(im.clone(), contours, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_NONE);

Вывод findContour является vector<vector<Point>> объект contours который выглядит как:

введите описание изображения здесь

Таким образом, он имеет 6 элементов, каждый из которых соответствует одному контуру. Давайте принимать contours[0] например. Это выглядит как:

введите описание изображения здесь

contours[0] имеет пять элементов, каждый из которых хранит координаты пикселей, которые образуют контур.

0

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


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