C ++ - ObjC OpenCV ограниченный Делоне

Я успешно реализовал триангуляцию Делоне для контура в OpenCV 2.3.1.

С помощью cvPointPolygonTest я могу получить все треугольники в выпуклой оболочке, затем я попытался выполнить еще один cvPointPolygonTest на центроиде треугольников, чтобы узнать, являются ли онив основном контуре или нет, поэтому я могу иметь ограниченную триангуляцию контура.

Но это не работает, как некоторые треугольники (например, с ходячим человеком, у которого две ноги удалены)«над» дырой.

Кто-нибудь знает способ выполнения ограниченной триангуляции. Я думал о выпуклости дефектов, но не могу понять, как начать с этого.

Заранее спасибо !

Бен

На самом деле это проблема не выпуклых дефектов корпуса, а проблема триангуляции. Это изображение покажет вам проблемы:

http://img191.imageshack.us/img191/7527/capturedcran20111128180.png

В частности, в нижней части триангулированного корпуса вы можете видеть, что триангуляция находится в контуре AND вне контура, потому что OpenCV триангулирует выпуклый корпус. Я хотел бы найти способ триангуляции самого контура.

Я нашел некоторые идеи по добавлению точек Штейнера в сам контур, но не могу найти, с чего начать с OpenCV.

Моя идея состояла в том, чтобы:

проверить, находится ли треугольник в И вне контура;если истина: получить точку пересечения;и добавьте его в cvSubdiv2D.

Я прав с этим?

Спасибо за ваше терпение и ваши ответы!

Ответы на вопрос(2)

Ваш ответ на вопрос