Я пытался найти контур одной фигуры на очень простом фоне, используя OpenCV findContour
(я хотел бы использовать синтаксис C++). Однако он продолжает делать свой контур контуром, а не самой формой. Я думаю, это из-за белого края, полученного из-за Кэнни, который не делает форму закрытой.
Случай A: форма находится у края изображения (это не фактическое входное изображение, а более простое входное изображение, иллюстрирующее эту проблему).
Случай B: Фон окружает фигуру
Вот основные функции, которые я использовал:
findContours( grayImage, contours, hierarchy, RETR_LIST,CHAIN_APPROX_SIMPLE);
approxPolyDP(Mat(contours.at(largestContourIndex)),poly,3,true);
drawContours(output, contours, largestContourIndex, RGB(250,0,100), -1, 8, hierarchy, 0, Point() );
РЕДАКТИРОВАТЬ: Обнаружение пропуска края дает контур, который мне нужен, но мне нужно иметь наилучший приблизительный контур, который я могу получить.
Заранее спасибо.