Так случилось, что я активно использую Delphi в своей работе (программирование по работе, собственные открытые и закрытые проекты) и вот мне понадобилось написать программу, использующую открытую библиотеку компьютерного зрения OpenCV. Что же делать, ведь официально OpenCV использовать в Delphi невозможно, а перебираться на C ради одной программы слишком долго.
Но нет ничего невозможного…
Немного поискав в интернете, я нашел несколько проектов по использованию OpenCV в Delphi.
Первый, второй, третий и наиболее свежий и удачный — четвертый, который я и взял за основу.
Проект на github мне показался интересным, реализовано много функций OpenCV, есть много примеров на Delphi, но проект заброшен автором и пришлось взяться за свой.
Все текущие наработки я выложил на code.google.com/p/opencv-delphi-new/
В настоящий момент сделано:
1. Поддержка RAD Studio XE3.
2. Добавлены новые функции: cvFlip, cvClearMemStorage, cvCreateChildMemStorage, cvRectangle, cvRetrieveFrame, cvIntegral, cvGetPerspectiveTransform, cvWarpPerspective, cvCreateMat, cv2DRotationMatrix, cvWarpAffine, cvFindContours, cvHaarDetectObjects.
3. Добавлено 6 новых примеров:
FaceDetect — Пример детектирования лица в видеопотоке с использованием преобразования Хафа.
FindContours — Нахождение контуров изображения.
Integral — Интегральное изображение.
WarpAffine — Трансформация изображения — аффинные преобразования (Поворот изображения на произвольный угол).
WrapPrespective — Трансформация изображения — гомография (Перспективная трансформация).
MatchShapes — Поиск объекта на изображении по шаблону (Сравнение объектов по моментам их контуров).
В добавленных примерах я постарался подробно расписать все манипуляции для достяжения нужного результата.
Если кому-то будет интересна тема использования OpenCV в Delphi, то пишите мне на email или оставляйте комментарии.
Если тематика использования OpenCV в принципе интересна, то могу написать несколько статей, только напишите, какое направление использования OpenCV Вас интересует.
Автор: Sleuthhound