프로그래밍 언어

OPENCV 캠 영상 + 바이너리영상

벌게진눈 2014. 1. 25. 21:04
반응형


#include "stdafx.h"

#include <opencv\cv.h>  

#include <opencv\highgui.h>



int _tmain(int argc, _TCHAR* argv[])

{

int threshold = 128; //임계값

IplImage * image = 0;

IplImage * output = 0;

IplImage * gray = 0;



CvCapture* capture = cvCaptureFromCAM(0);


cvNamedWindow( "기본 카메라", 0 );

cvNamedWindow( "흑백 카메라", 0 );

cvCreateTrackbar("T", "기본 카메라", &threshold, 255, NULL);

      

while(1) {

cvGrabFrame( capture );

image = cvRetrieveFrame( capture );

cvShowImage("기본 카메라", image);

if(!output){

gray = cvCreateImage(cvGetSize(image), IPL_DEPTH_8U, 1);

output = cvCreateImage(cvGetSize(image), IPL_DEPTH_8U, 1);

}

cvCvtColor(image, gray, CV_RGB2GRAY);


if( cvWaitKey(10) >= 0 )

break;


cvThreshold(gray, output, threshold, 255, CV_THRESH_BINARY);

output->origin = image -> origin;


cvShowImage("흑백 카메라", output);


}



cvReleaseImage( &gray );

cvReleaseImage( &output );

cvReleaseCapture( &capture );

cvDestroyWindow("기본 카메라");

cvDestroyWindow( "흑백 카메라" );


return 0;

}


기본영상에 잉계값 바를 주어서 바이너리 영상으로 출력하는 프로그램이다. 


반응형