2014-03-28 3 views
1

OPENCV SURF에서 키포인트 수를 100으로 제한 할 수있는 방법이 있습니까? 얻은 키포인트는 강도에 따라 정렬됩니까? 설명자의 강도를 얻는 방법은 무엇입니까? 나는 cpp 프로그램이있는 리눅스 시스템에서 OPENCV를 연구 중이다.OPENCV SURF 피처 설명자 강도

관련, shiksha

내 코드는 다음과 같습니다 int 주 (int argc, 문자 ** argv를) {

  Mat img_1 = imread(argv[1], CV_LOAD_IMAGE_GRAYSCALE); 
     Mat img_2 = imread(argv[2], CV_LOAD_IMAGE_GRAYSCALE); 



      //-- Step 1: Detect the keypoints using SURF Detector 
     int minHessian = 500; 

     SurfFeatureDetector detector(minHessian,1,2,false,true); 

     std::vector<KeyPoint> keypoints_1p; 

     std::vector<KeyPoint> keypoints_2p; 



     detector.detect(img_1, keypoints_1p); 
     detector.detect(img_2, keypoints_2p); 


      // computing descriptors 
      SurfDescriptorExtractor extractor(minHessian,1,1,1,0); 
      Mat descriptors1, descriptors2; 

      extractor.compute(img_1, keypoints_1p, descriptors1); 
      extractor.compute(img_2, keypoints_2p, descriptors2); 

답변

1

당신은 (최대 100 I 이미지를 상상할 수 얻을 수있는 말 예를 들어 상수 이미지)에 SIFT 설명자가 없습니다. 키포인트를 100으로 제한하는 많은 방법이 있습니다. 문제에 대한 쉬운 솔루션과 어려운 솔루션이 있습니다. 당신은 당신이 얻는 많은 키포인트로부터 무작위로 100 개의 키포인트를 선택함으로써 100 개까지 얻을 수 있습니다.

키포인트의 강도와 같은 것은 없습니다. 자신 만의 힘 개념을 정의해야합니다.

원래 로우 용지에는 키포인트를 필터링하는 다양한 매개 변수가 있습니다 (그 중 하나는 로우 에지 용지의 섹션 4.1 이미지 가장자리와 일치하지 않습니다). 2 개 또는 3 개의 다른 매개 변수가 있습니다. 당신은 당신이 단지 100를 얻는 그런 방법으로 매개 변수를 체계적으로 조정할 필요가있을 것입니다. 당신이 100보다 적게 얻는 경우에, 당신은 더 적은을 거르고 100 이상 당신은 더 많은 것을 거르는 경우에.

+0

답장을 보내 주셔서 감사합니다. 저는 이미지의 가장 강력한 100 가지 특징을 얻고 싶었습니다. SIFT 알고리즘의 일부 매개 변수를 사용하여 수행 할 수 없습니까? 키포인트의 응답 매개 변수는 무엇을 지정합니까? –

1

question here을 참조하십시오. 그리고 keypoints의 수를 제한하는 방법에 대한 나의 대답을보십시오.

+0

형식 : FeatureDetectorExtractor 추출기 (100)를 사용하여 100 개의 키포인트를 추출하려고했습니다. 하지만 키포인트의 수는 이전의 75와 동일했습니다. 심지어 50 개의 키포인트를 시도했지만 변경 사항은 없었습니다. 그 밖의 무엇을 할 수 있습니까? u가 여전히 사본을 가지고 있다면 u가 나에게 책을 보낼 수 있습니까? –

+0

당신의 이메일 주소를 .... .... btw 그 책에서이 주제와 관련이 없습니다. 게다가, 100을 쓰면 이미지에 100 개의 키포인트가 없다면 100 점 미만이 될 것입니다. 그러나 그 반대는 사실이 아닙니다 (귀하의 경우에 발생합니다) – skm

+0

당신은 그것을 잘못하였습니다. 당신은'FeatureDetectorExtractor extractor (100)'...하지만 내 대답을 조심스럽게 보아라. ..... 'detector'에 대한 포인트 수를 지정하지 않는다. 'extractor'가 아니다. – skm