IT/- 프로그래밍
OpenCV 동영상에서 에지 검출하기
혁준7519
2017. 5. 13. 11:33
동영상에서 에지 검출하기
c++)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | #include <opencv/cv.h> #include <opencv/highgui.h> void main() { IplImage *frame = 0; IplImage *edge = 0; //cvCaptureFromFile(파일명) : 동영상 파일 불러오기 CvCapture *video = cvCaptureFromFile("D:/study/su.avi"); cvNamedWindow("edge", CV_WINDOW_NORMAL); while (1) { //cvGrabFrame(동영상) : 하나의 프레임을 잡음 cvGrabFrame(video); //cvRetrieveFrame(동영상) : 잡은 프레임으로부터 이미지를 구함 frame = cvRetrieveFrame(video); if (!frame || cvWaitKey(10) >= 0) { break; } //에지 이미지객체 생성 edge = cvCreateImage(cvGetSize(frame), IPL_DEPTH_8U, 3); //에지(edge) : 밝기가 낮은값에서 높은값으로, 높은값에서 낮은값으로 변화하는 경계에 해당되는 부분 //cvSobel(원본이미지, 에지이미지, x방향 미분, y방향 미분, 커널크기) : 에지검출함수 cvSobel(frame, edge, 1, 1, 3); //이미지 보여주기 cvShowImage("edge", edge); } //cvReleaseCapture(해제할 동영상) : 메모리에서 동영상 해제 cvReleaseCapture(&video); //이미지 해제 cvReleaseImage(&frame); cvReleaseImage(&edge); //윈도우 해제 cvDestroyWindow("edge"); } | cs |
결과
에지형태의 동영상이 보여진다