2010년 5월 23일 일요일

WinCE에 OpenCV 올리기(C++편)

1. 프로젝트를 생성한다.(저는 MFC 스마트 장치 프로젝트를 열었구요. 다이얼로그 기반으로 생성했습니다.)

2. 첨부된 파일을 받아서 솔루션 디렉토리에 놓는다.

3. 프로젝트 속성에 들어가서 구성 속성 - 배포 에서
highgui200.dll|$(SolutionDir)dll|%CSIDL_PROGRAM_FILES%\프로젝트 이름|0
cv200.dll|$(SolutionDir)dll|%CSIDL_PROGRAM_FILES%\프로젝트 이름|0
cxcore200.dll|$(SolutionDir)dll|%CSIDL_PROGRAM_FILES%\프로젝트 이름|0
msvcr90.dll|$(BINDIR)\$(INSTRUCTIONSET)\|%CSIDL_PROGRAM_FILES%\프로젝트 이름|0
(위에서 %CSIDL_PROGRAM_FILES%\ 이 부분이 안되시는 분들은 절대 경로(예 - \Program Files\프로젝트주소)로 셋팅해주세요.)

4. C/C++에서 추가 포함 디렉토리 "$(SolutionDir)\include" 넣는다.

5. 링커 - 입력 에서
"$(SolutionDir)\lib\cv200.lib"
"$(SolutionDir)\lib\cxcore200.lib"
"$(SolutionDir)\lib\highgui200.lib"
이렇게 셋팅해준다.

6. 프로젝트.h 에
#include "cv.h"
#include "cxcore.h"
#include "highgui.h"
를 넣어준다. (전 프로젝트Dlg.cpp에 넣었습니다.)

7. OpenCV 함수를 사용한다.

아래는 제가 RGB->GRAY로 변환후 출력한 소스입니다.

펼쳐두기..


만약! 이미지를 핸드폰에 올리고 싶은데 어떻게 해야하나요?
Active Sync를 이용하시면 됩니다.

2. 윈도우 모바일 에뮬레이터를 실행시킨다.
3. Active Sync에서 파일 - 연결설정 에서 다음 중 한가지 연결 허용 에서 DMA로 셋팅해준다.
4. Visual Studio에 도구 - 장치 에뮬레이터 관리자 를 연다.
5. 현재 실행된 윈도우 모바일 에뮬레이터에 마우스를 대고 크래들에 올림을 누른다.
6. Active Sync와 장치 에뮬레이터가 연결된다.
7. 내 컴퓨터 에 보면 모바일 장치가 뜨므로 거기에 파일을 올리거나 다운 받으면 된다. +_+

현재 글은 Windows mobile 6.5 장치에서 테스트 되었습니다.
아래는 원본과 cv로 변환한 이미지 예제입니다.

펼쳐두기..



댓글 2개:

  1. 안녕하세요. 올려 주신 내용은 잘 보았습니다.



    저도 WINCE 기반으로 컴파일을 하기 위해

    인터넷을 검색하던 중, 괜찮은 사이트를 발견하였습니다. 그 사이트에서는 컴파일 방법도 자세히 나와 있었는데, 막상 따라해 보니 몇몇 문제로 컴파일을 실패하였습니다. 그래서 결국 거기서 제공한 최종 라이브러리 파일을 사용하게 되었구요.



    그러나, 제 목표는

    실제로 컴파일을 해 보는 것입니다.



    혹시 괜찮으시다면 "WINCE기반 OpenCV컴파일하기"용으로 참고할 만한 사이트 하나 추천해 주실 수 있을런지요..?

    답글삭제
  2. @호수와 - 2010/07/06 16:41
    http://alexkarpus.com/opencv/

    들어가보시길..^^

    답글삭제