2012-03-28 4 views
0

I 피처 검출을 OpenCV를 사용하기 시작했다 : 다른 화상으로부터 추출 된 특징에 대하여 일치 될 수있다 화상의 특징을 추출 할openCV에서 교육 이미지의 의미는 무엇입니까?

cv::SurfFeatureDetector detector(40 ); 
std::vector<cv::KeyPoint> keypoints_object; 
detector.detect(img_object, keypoints_object); 
//-- Step 2: Calculate descriptors (feature vectors) 
cv::SurfDescriptorExtractor extractor; 
cv::Mat descriptors_object, descriptors_scene; 
extractor.compute(img_object, keypoints_object, descriptors_object); 
//-- Step 3: Matching descriptor vectors using FLANN matcher 

:

시퀀스 등. 이런 맥락에서 '훈련 이미지'라는 용어는 무엇을 의미합니까?

이미지를 여러 번 회전하거나 비율을 조정해야합니까?

만약 그렇다면. 기능을 단일 디스크립터에 병합 할 수 있습니까?

답변

2

특징 추출과 관련하여 교육 이미지를 사용하면 분류를 생각하게됩니다. 여기에는 여러 클래스의 교육 이미지 세트가 있으며 여기에서 여러 가지 기능을 추출 할 수 있습니다. 그런 다음이 기능을 사용하여 일종의 분류자를 배우려고합니다. 그래서이 이미지들을 사용하여 분류자를 훈련 시켰습니다.

SURF 기능은 축척 및 회전 불변합니다. 따라서 이미지의 크기를 조절하거나 회전 할 필요가 없습니다.

이미지 당 하나의 단일 기능 벡터를 얻으려면 bag of words model을 사용할 수 있습니다.

+0

+1 실제로 FAST 기능을 사용합니다. DB에 저장할 수 있고 캠에서 캡처 한 이미지와 일치시킬 수 있습니까? – stacker

+0

물론 가능합니다. 이 절차는 [1 최근 접 분류기] (http://en.wikipedia.org/wiki/K-nearest_neighbor_algorithm)라고합니다. 그런 다음 교육 단계는 단순히 사진을 데이터베이스에 추가하는 것으로 구성됩니다. – sietschie

+0

감사합니다. 또 다른 리소스 (레코드)를 발견했습니다. http://opencv.willowgarage.com/documentation/cpp/k_nearest_neighbors.html – stacker