본문 바로가기

[ 프로그래밍 ]/강좌

OpenCV 강좌 01. MFC로 OpenCV 시작하기 (이미지 열기)

0. OpenCV 다운로드 및 설치
- 아래 사이트에서 OpenCV 1.1 pre 버전을 다운로드 받은 후 설치

OpenCV 라이브러리 다운로드 페이지 http://sourceforge.net/projects/opencvlibrary



1. 새 프로젝트의 생성
- 본 프로그램의 예제는 Microsoft Visual Studio 2005 기준임

- 대화 상자 기반으로 응용 프로그램 종류 선택 후 마침

2. OpenCV 라이브러리 경로 설정 및 등록
- 도구 - 옵션 클릭한뒤, 프로젝트 및 솔루션의 VC++ 디렉터리란 정보 수정

- 포함 파일에 OpenCV INCLUDE 디렉터리 추가

- 라이브러리 파일에 OpenCV LIB 디렉터리 추가

- Alt + F7키 또는 메뉴에서 프로젝트 속성 페이지를 선택한 뒤, 링커 - 입력 - 추가종속성 란에 라이브러리 추가.

- 필요한 dll 파일들 프로그램 폴더에 복사 (테스트용 이미지는 어떤 이미지든 상관 없음)

3. 프로그램 코딩
- 다이얼로그에 파일을 열기위한 버튼 생성(기존 버튼들은 모두 삭제)
- 버튼을 더블클릭하여 함수 생성

- 헤더파일에 OpenCV 관련 헤더파일 추가

- 버튼 처리. start.jpg라는 이름의 파일을 읽은 후 Start OpenCV with MFC라는 이름의 창을 열어 화면에 출력
IplImage* image;  // OpenCV에서 사용하는 이미지의 형태로 변수 선언
image = cvLoadImage("start.jpg", -1);  // image 변수에 start.jpg 파일을 연다. 이때, 두 번째 파라미터가 
                                                      // -1 이면 원본 컬러 그대로, 0은 흑백, 1은 컬러로 연다.

cvNamedWindow( "Start OpenCV with MFC", 1 );     // 영상을 출력하기 위한 화면 생성. 이때, 두 번째
                                                                         // 파라미터가 0이면 크기 조절 가능, 1은 원본 출력

cvReleaseImage( &image );  // IplImage 변수는 생성 후 반드시 릴리즈 해야 한다.

4. 프로그램의 실행

 


  • 안녕하세요... 이대로 따라했는데 응용 프로그램을 초기화 할수 없다는 메세지가 뜨는데 어떻게 하죠 ㅠㅠ

  • 저는 1.1pre 받아서 해봤는데도 CvCam/include 없던데요?? 어쩌죠?
    otherlibs폴더안에는
    _graphics
    ffopencv
    highgui
    이렇게 3개 있네요

  • 안녕하세요.. 제가 이 강좌로 공부를 하고 있는데...
    강좌 따라가다가 build하는 과정에서 error가 나와서요...
    버튼을 처리하는 부분에 [error C2039: 'OnBnClickedBtnOpenImage' : 'CStartOpenCVwithMFCDlg'의 멤버가 아닙니다.]라고 나오거든요... 뭐가 잘못된건가요???
    올려주신 예제와 비교해도 다른부분이 없는것 같은데... 답변해주시면 감사하겠습니다^^

  • 비밀댓글입니다

  • 샵샵 2010.11.17 11:40 신고 댓글주소 수정/삭제 댓글쓰기

    캠영상이 안나오네요;; 오픈 cv 2.1이구요 비베 2008쓰고 있습니다. 캠 문제 일까요? 예제 파일 받아서 돌리는데 안나오네요

    • 안녕하세요 2014.05.03 13:17 신고 댓글주소 수정/삭제

      if(image!=NULL)
      { cvNamedWindow.....
      }이 함수 밑에
      CDialogEx::OnOk(); 추가하시고
      OnBnClickedBtnOpenimage 을 OnBnClickedOk로 바꾸세요 ㅎ

  • junlight 2010.12.27 12:38 신고 댓글주소 수정/삭제 댓글쓰기

    소스에 이상이 없는데 응용 프로그램을 초기화 할수 없다는 메세지가 뜨시는 분들은 c++ 재배포 패키지(vcredist_x86.exe)를 설치하시면 됩니다. ^^

  • junlight 2010.12.27 12:40 신고 댓글주소 수정/삭제 댓글쓰기

    아 그리고 1.1pre 버전에서는 CvCam/include 는 없구요 이 부분이 highgui에 포함되었다는군요. CvCam은 포함안시켜도 되네요~

  • 쪽쪽이 2011.01.26 18:05 신고 댓글주소 수정/삭제 댓글쓰기

    문자인식프로젝트를 하고 있는데요 정말 좋은 블로그 알게되어 기뻐요!!><

    첫번째강좌부터 아주 기쁜마음으로 따라해봤는데요...빌드를 했더니

    error C2039: 'OnBnClickedBtnOpenImage' : 'CStartwithMFCDlg'의 멤버가 아닙니다.


    이런 오류메세지가 떠요;;ㅜㅜ 왜 그런건지 알려주세요.
    저는 opencv2.0버전에 비주얼2008로 돌려봤습니당 ㅜㅜㅜ

  • 팬더 2012.02.20 19:49 신고 댓글주소 수정/삭제 댓글쓰기

    안녕하세요 마틴님!!
    우선 정말 좋은 강좌 감사드립니다.
    제가 지금 비주얼 스튜디오 2008로 마틴님의 강좌를 보고 따라하는데요
    LDR: LdrpWalkImportDescriptor() failed to probe c:\opencv_worksapce\01_StartOpenCVwithMFC\cxcore110.dll for its manifest, ntstatus 0xc0150002
    디버거:: 프로세스 로드 중에 처리되지 않은 비연속적 예외가 Throw되었습니다.
    '[3324] StartOpenCVwithMFC.exe: 네이티브' 프로그램이 종료되었습니다(코드: -1072365566 (0xc0150002)).
    이런 메세지가 발생하네요 ㅠㅠ
    어디를 봐야할지 잘모르겠네요 ㅠㅠ

  • 티아루나 2012.03.06 13:25 신고 댓글주소 수정/삭제 댓글쓰기

    저도 팬더님과 같은 에러가 뜹니다.

  • 프시쵸 2013.04.11 20:35 신고 댓글주소 수정/삭제 댓글쓰기

    OpenCV 관련 글 찾다가 여기까지 왔네요. 1.1 버전으로 설치해서 계속 추가종속성에서 파일 인식 못한다고 징징대더니 아마 설치할 때 path가 잘못됐거나 그런 모양이네요. ㅠㅠ 내 시간 돌려줘!

    그리고 2.2부터는 라이브러리 명이 달라졌던데, 2.2버전 이후는 또 찾아봐야 될 것 같습니다. 현재 이미지를 문자로 인식시키는 문자인식 때문에 자료를 찾고 있는 중이었는데, 좋은 정보 제공해주셔서 감사합니다.

  • 쥬디 2015.01.07 13:07 신고 댓글주소 수정/삭제 댓글쓰기

    질문이 있습니다. Open CV을 활용하여 캠이 사람이 아닌 손전등 혹은 밝기를 나타내는 물체를 따라 움직이게 수정 할 수 있는가요??

  • 김진실 2015.01.20 19:32 신고 댓글주소 수정/삭제 댓글쓰기

    진짴ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ대박이예요 감사합니다 진짜 대박ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ고맙습니다.. 공부하는데 왤케 도움이 되는지 감사합니다

  • 장광순 2015.03.29 00:22 신고 댓글주소 수정/삭제 댓글쓰기

    안녕하세요 마커인식에 대하여 공부하려는데 정말 좋은 블로그 같습니다. 자주 질문 하러 오겠습니다~