어차피 DLL 인 라이브러리라 델파이에 못 붙일 것도 없죠
델파이용 DLL 헤더 만드는 일은 늘상있는 일이기도 하고요
그렇지만 전체 헤더를 몽땅 변환하는 건 정말 고되고도 재미 없는 작업입니다.
그래서 보통은 그때 그때 필요한 함수와 타입만을 끄집어 냅니다.
계속 같은 작업을 하다 보면 저절로 분량도 많아지고
같은 작업을 안하다보면 별로 쓸일이 없는 거니 굳이 전체 헤더 변환을 할필요가 없겠죠
(물론 시간만 된다면야 못할것도 없지만...)
아무튼 이번에도 그런식으로....
OpenCV 를 이용한 템플릿 매칭(Template Matching) + 소스 포함 이곳의 소스를 테스트 삼아 델파이로 컨버전 했습니다.
Source / exe / dll 포함
OpenCVDelpphi_Ex.7z
굳이 델파이로 헤더까지 만들어 쓸 필요가 있을까.... 싶을지도 모르겠지만
- 헤더 만들기가 그리 어려운게 아니고
- 헤더 만들다 보면 자연스럽게 함수 원형에 구조체나 자료 구조를 파악하게 됩니다.
- 가공할만한 델파이의 GUI 개발 능력에 편승할 수 있습니다.
- 특히 http://graphics32.org 와 연동하면 빠르고 화려한 GUI를 구성할수 있습니다... 그것도 무료로 (너무 오래된 거라 좀... 그렇지만... 아직까지도 몹시 쓸만합니다. MIL 에도 붙여 보았었죠)
- C 보다는 파스칼이 C++ 보다는 오브젝트 파스칼이 버그 유발 확률을 현저하게 줄여 줍니다.
- 알고리즘을 완벽히 파악한다면 GPU 활용에 쓰일 수도 있겠군요 (음 이건 C/C++도 마찬가지네)
위 샘플 이외에도 몇가지 더 돌려봤습니다.
그것들을 클래스로 단순화 / 캡슐화도 해봤고요.
꽤 쓸만합니다.
여가 시간이 많아진다면 계속 해보고 싶네요.
현업 때문에 쉽지는 않겠지만 가급적이면 OpenCV 의 사용을 줄이고 직접 알고리즘을 작성해 봤으면.... 하는데 ...
2015-11-24 내용추가
케케묵은 내용이지만 어쩌다가 구글링으로 여기까지 들어온 분들에게 민폐가 되지 않도록 내용 추가합니다.
델파이로 헤더를 만드는 건 아주 비효율적인 방법입니다.
OpenCV는 현재까지 매우 빠른 발전을 보이고 있고, 앞으로도 그럴것이라 예상 되는바
그때마다 헤더 고치는 노가다를 하느니 C++ 을 사용하는 것이 훨씬 낫습니다.
델파이와 연동할 땐
C++로 DLL 제작 (virtual class 사용) Delphi에서 사용합니다. (graphics32는 여전히 쓸만합니다)