본문 바로가기

프로그래밍/OpenCV

영상이미지 흑백으로 처리(이진화)

#include "stdafx.h"
#include <cv.h>
#include <highgui.h>
int _tmain(int argc, _TCHAR* argv[])
{
    IplImage* image = 0;
IplImage* gray = 0;


    CvCapture* capture = cvCaptureFromCAM(0); //캠(카메라)받기
    cvNamedWindow( "camera", 0 );
cvNamedWindow( "output", 0 );
   // cvResizeWindow( "camera", 320, 240 ); //윈도우 창크기 변경

cvGrabFrame( capture );//캠에서 프레임 얻기
        image = cvRetrieveFrame( capture ); //image에 저장
gray = cvCreateImage( cvGetSize(image), IPL_DEPTH_8U, 1); // 흑백 이미지 생성

    while(1) {
        cvGrabFrame( capture );//캠에서 프레임 얻기
        image = cvRetrieveFrame( capture ); //image에 저장

cvCvtColor(image, gray, CV_RGB2GRAY);
cvThreshold(gray, gray, 1, 255, CV_THRESH_OTSU);

        cvShowImage( "camera", image );//image 출력
cvShowImage( "output", gray );//image 출력
        if( cvWaitKey(10) >= 0 )
           break;            
    }
 
    cvReleaseCapture( &capture );
    cvDestroyWindow( "camera" );
cvDestroyWindow( "output" );
 return 0;
}