Я разрабатываю код, который должен найти красную часть. Я использую функцию minEnclosingCircle
, чтобы получить центр изображения.Извлечь данные из Point2f
Способ, которым функция дает мне центр, находится в векторном формате vector<Point2f>center(contours.size());
. Однако мне нужны эти данные, чтобы определить интересующий регион (ROI). Есть ли способ извлечь данные из этой точки, так что я могу иметь две координаты в X и Y в целых числах?
Спасибо!
--update--
Я отправлю код, чтобы попытаться объяснить лучше, что я хочу сделать:
vector<vector<Point> > contours_poly(contours.size());
vector<Point2f>center(contours.size());
vector<float>radius(contours.size());
for(int i = 0; i < contours.size(); i++)
{
approxPolyDP(Mat(contours[i]), contours_poly[i], 3, true);
minEnclosingCircle((Mat)contours_poly[i], center[i], radius[i]);
}
Поэтому, как только я получаю контуры от моего образа я применить функцию minEnclosingCicrle
для определения центра. Я очень новичок в OpenCV. Я полагаю, что центр найденных кругов сохраняется в этом векторе Point2f. То, что я хочу сделать, - это доступ к этим точкам, чтобы получить позицию моего объекта для определения ROI вокруг объекта.
[эти документы] (http://docs.opencv.org/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html?highlight = minenclosingcircle # void% 20minEnclosingCircle% 28InputArray% 20 точек,% 20Point2f &% 20center,% 20float &% 20radius% 29) требование 'minEnclosingCircle' дает вам центр и радиус для заданного набора входных точек. Какие именно данные вы пытаетесь извлечь? – juanchopanza
Я обновил описание своей проблемы. –
Итак, у вас много центров кругов. Что вы хотите сделать с этой информацией? – juanchopanza