OpenCV 2.1 C++ Builder 2007에서 쓰기(XE도 됨)

2012. 1. 18. 14:21언어/C++ Builder

C++ Builder XE에서 해봤는데 잘 된다. ㅎㅎ

http://blog.naver.com/mangchyda?Redirect=Log&logNo=100112413916

출처는 위와 같으며 망치 블로거님 블로그에서 퍼왔습니다. 혹시 블로그가 닫힐수도 있어 전체 긁어오기 했습니다.

문제가 되신다면 쪽지나 메일 주시면 삭제하도록 하겠습니다.

-----------------------------------------------------------------------------------------------

이제 C++ Builder 2007에서 컴파일 해봐야겠다.

일단 빌더용으로 라이브러리를 만들어야겠다.

   

배치 파일을 다음과 같이 만들었다.

   

implib -a cv210.lib cv210.dll 
implib -a cvaux210.lib cvaux210.dll 
implib -a cxcore210.lib cxcore210.dll 
implib -a cxts210.lib cxts210.dll 
implib -a highgui210.lib highgui210.dll 
implib -a ml210.lib ml210.dll 
implib -a opencv_ffmpeg210.lib opencv_ffmpeg210.dll

   

그리고 빌더 bin폴더에서 implib.exe파일을 배치파일 있는곳으로 가져오고 bat파일 실행.

드디어 DLL에서 빌더용으로 lib파일도 생성되었다.

   

   

그리고 간단한 예제 만들어 컴파일 해보니 에러들이 여러개 뜬다. 그래서 구글링 수없이(?) 해보니

두가지를 해줘야한다.

   

   

위에 옵션에서 아래 두개를 추가해준다.

;SKIP_INCLUDES;_FM_NO_REMAP

   

그리고 highgui.h파일 제일 하단을 다음과 같이 변경해준다.

   

   

   

   

자 이제 준비가 되었다.

   

예제를 함 만들어보자...

   

메인 cpp파일 상단에 다음을 추가한다.

   

#pragma comment(lib, "cxcore210.lib")
#pragma comment(lib, "cv210.lib")
#pragma comment(lib, "highgui210.lib")

   

헤더 파일에는 다음을 추가한다.

   

#include "cv.h"
#include "highgui.h"

   

버튼 클릭 이벤트에 다음을 추가한다.

   

 IplImage* image;
 image = cvLoadImage("image.jpg", -1);
 if(image != 0)
 {
  cvNamedWindow("test", 0);
  cvShowImage("test", image);
  cvWaitKey(0);
  cvReleaseImage(&image);
 }

   

Debug나 Release폴더에 OpenCV dll파일 모두 넣는다.

자 이제 컴파일 해보자...

   

   

   

자 드디어 실행이 되었다....

[출처] OpenCV 2.1 C++ Builder 2007에서 쓰기|작성자 망치