Я хотел бы обнаружить форму ниже, я попытался следующие методы:Я хотел бы, чтобы обнаружить пользовательскую форму с помощью OpenCV
1) обучив каскад с использованием opencv_traincascade
и создания позитивных изображений с использованием opencv_createsamples
- никакого успеха , лот ложных срабатываний, объект не имеет много функций.
2) Пробовал детекцию эллипса, снова много ложных срабатываний, так как на сцене много эллипсов. Кроме того, он не дал твердого обнаружения, поскольку это не идеальный эллипс.
3) Пробовал обнаружение цвета, дал хорошие результаты, но объект имеет несколько цветов, начиная от зеленого, красного, синего и желтого, поэтому цвет не может быть использован для обнаружения. Кроме того, он зависит от освещения.
Мне было интересно, смогу ли я обучить классификатор с помощью краев или какой-либо другой способ индивидуального определения формы и обнаружения этого в сцене.
Results using canny edge detection
Любая помощь будет принята с благодарностью.
Вы пытались извлечь контур и ' резюме :: matchShapes'? Я нашел, что сопоставление фаски неплохое, но для оптимизации необходимых задач, таких как вращение объекта, масштаб объекта и искажения перспективы, необходимы определенные оптимизации. http://docs.opencv.org/2.4/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html#double%20matchShapes(InputArray%20contour1,%20InputArray%20contour2,%20int%20method,%20double%20parameter) – Micka
Я бы проверял (Охрана природы) (https://www.kaggle.com/c/the-nature-conservancy-fisheries-monitoring). Там много обсуждений подобных проблем. – Tchotchke
@Micka Спасибо за это, я пробовал извлечение контура, но не пробовал 'cv :: matchShapes' даст попробовать. @Tchotchke Awesome, спасибо, что указал мне в этом направлении - проверит обсуждения (обсуждения). –