상세 컨텐츠

본문 제목

Opencv 템플릿 매칭(Template Matching)

C & opencv

by 쵸벌 2017. 4. 11. 23:49

본문

안녕하세요


Opencv 템플릿 매칭에 관한 사용 소스 입니다.


#include "opencv\cv.hpp"

#include "opencv\highgui.h"


using namespace cv;


#define DESK_FILE "..//Image/06.jpg"

#define POINT_FILE "..//Image/06_1.jpg"


int main()

{

double min, max;

CvPoint left_top;

IplImage *AImg = cvLoadImage(DESK_FILE, -1); //원본 이미지 

IplImage *BImg = cvLoadImage(POINT_FILE, -1); //원본이미지에서 찾을 이미지

IplImage* CImg = cvCreateImage(cvSize(AImg->width - BImg->width + 1, 

  AImg->height - BImg->height + 1),  IPL_DEPTH_32F, 1); 

cvMatchTemplate(AImg, BImg, CImg, CV_TM_CCOEFF_NORMED); // 상관계수

cvMinMaxLoc(CImg, &min, &max, NULL, &left_top); // 상관계수가 최대값

cvRectangle(AImg, left_top, cvPoint(left_top.x + BImg->width, left_top.y + BImg->height), 

  CV_RGB(255, 0, 0)); // 찾은 물체에 사격형을 그린다.

cvNamedWindow("TEST_Ori");

cvNamedWindow("TEST_Sample");

cvNamedWindow("TEST");

cvShowImage("TEST_Ori", AImg);

cvShowImage("TEST_Sample", BImg);

cvShowImage("TEST", CImg);


  cvWaitKey(0);

// 모든 이미지 릴리즈

cvReleaseImage(&AImg);

cvReleaseImage(&BImg);

cvReleaseImage(&CImg);

// 모든 윈도우 제거

cvDestroyAllWindows();


}


간단한 소스라서 금방 알아보실 수 있을꺼라 생각하여 별도의 설명은 하지 않겠습니다.


아래는 실행 화면입니다.

이미지


즐거운 하루 되시길 바랍니다.

관련글 더보기

댓글 영역