코코야이야기
[c++] OpenCV 템플릿매칭2 본문
소스코드
//부분템플릿 매칭
#include <cv.h>
#include <highgui.h>
#include <iostream>
using namespace std;
void Show(char *str, IplImage *img)
{
cvNamedWindow( str, 1);
cvShowImage( str, img );
}
void main()
{
double min, max;
CvPoint left_top;
// 먼저, source image를 로드한 후,
IplImage *src = cvLoadImage("소진_test.jpg", -1);
// template image를 로드한다.
IplImage *temp = cvLoadImage("testTemp1.jpg", -1);
// 상관계수를 구할 이미지
IplImage *coeff = cvCreateImage( cvSize( src->width - temp->width+1,
src->height - temp->height+1 ), IPL_DEPTH_32F, 1 );
// 상관계수를 구하여 coeff에 그려준다.
cvMatchTemplate(src, temp, coeff, CV_TM_CCOEFF_NORMED);
// 상관계수가 최대값을 가지는 위치를 찾는다
cvMinMaxLoc(coeff, &min, &max, NULL, &left_top);
// 찾은 물체에 사격형 박스를 그린다.
cvRectangle(src, left_top, cvPoint(left_top.x + temp->width,
left_top.y + temp->height), CV_RGB(255,0,0),2);
//상관계수 최대값
cout<<max;
Show("Matching Result", src); // 매칭 결과 이미지
Show("Template", temp); // 템플릿 이미지
Show("Coefficient", coeff); // 상관계수 이미지 보기
cvWaitKey(0);
cvReleaseImage(&src);
cvReleaseImage(&temp);
cvReleaseImage(&coeff);
cvDestroyAllWindows(); // 윈도우 제거
}
출력영상
'프로그래밍 > OpenCV' 카테고리의 다른 글
[c++] OpenCV 템플릿매칭3, ROI(관심영역)설정 (0) | 2015.09.29 |
---|---|
[c++] OpenCV 동영상재생 트랙바 (0) | 2015.09.28 |
[c++] OpenCV 카메라영상 (0) | 2015.09.25 |
[c++] OpenCV 템플릿매칭1 (0) | 2015.09.25 |
[c++] OpenCV 특징점검출 (0) | 2015.09.24 |