2014. 4. 23. 17:04

시작하기 전에 필요한 OpenCV 라이브러리를 추가하자 

지금 현재 필요한 라이브러리는 다음과 같다


opencv_imgproc248d.lib

winmm.lib

opencv_core248d.lib

opencv_highgui248d.lib


우선 이전 글에서 보았지만 실행하면 자식창(Child Window)가 기본적으로 보여진다


1. 그래서 불필요한 자식창을 처음에 보여주는 것을 방지해보자

자식창을 초기 화면에 안 보이게 하려면 App::InitInstance( )에 다음과 같은 코드를 입력하자






위와 같은 코드를 입력하고 창을 출력하면 다음과 같은 결과가 나온다



2. Doc 헤더파일에 OpenCV 헤더파일을 포함시키고 코드는 다음과 같다



3. 입력하여 저장하는 변수와 처리하는 함수를 Doc 클래스에 추가한다



4. Doc 클래스의 OnOpenDocument( )를 재정의하고 다음과 같은 코드를추가한다

아래의 코드를 이용하여 OpenCV 행렬에 입력한 이미지를 저장한다



5.  OpenCV 행렬과 Windows DC 를 이용하여 

     화면에 그리는 함수를 다음과 같이 구현한다




6. OnDraw( ) 함수에 다음과 같이 구현한다



7. 화면의 깜빡거림을 방지하기 위해 WM_ERASEBKGND 메시지를 재정의 하고 

    다음과 같이 구현한다



위의 코드를 다 구현한 상태로 실현한다

위의 Bmp 파일이나 Jpg 파일을 읽어들인 후의 결과는 다음과 같이 확인할 수 있다