Я пытаюсь обнаружить выпуклость дефектов на изображении, используя OpenCV. Тем не менее, результат кажется недостаточно хорошим. Несколько вогнутых точек не обнаружены, даже они очень ясны (синие круги на изображении, которое я связал). Я читаю CV :: ConvexityDefects () из OpenCV, что он найдет только одну вогнутую (дефектную) точку в 2 непрерывных точках (желтые точки) своего выпукляющего корпуса. Я думал, что должен интерполировать выпуклый корпус, чтобы получить более вогнутые точки, но эта идея невозможна из -за выносливости () требует индексов оригинального контура. Есть ли у вас есть идеи решить проблему или обнаружить вогнутые точки без использования функции OpenCV. Вот мой код, который я протестировал с помощью CV :: ConvexityDefects () < /p>
Я пытаюсь обнаружить выпуклость дефектов на изображении, используя OpenCV. Тем не менее, результат кажется недостаточно хорошим. Несколько вогнутых точек не обнаружены, даже они очень ясны (синие круги на изображении, которое я связал). Я читаю CV :: ConvexityDefects () из OpenCV, что он найдет только одну вогнутую (дефектную) точку в 2 непрерывных точках (желтые точки) своего выпукляющего корпуса. Я думал, что должен интерполировать выпуклый корпус, чтобы получить более вогнутые точки, но эта идея невозможна из -за выносливости () требует индексов оригинального контура. Есть ли у вас есть идеи решить проблему или обнаружить вогнутые точки без использования функции OpenCV. Вот мой код, который я протестировал с помощью CV :: ConvexityDefects () < /p> [code]cv::Mat test_convexityDefects( const cv::Mat& binary_, std::vector& concave_points_) {