2012-05-20 2 views
0

opencv에서 키포인트 탐지 및 일치를 수행하여 두 이미지를 결합합니다.opencv의 큰 이미지에 대한 키포인트 탐지 및 일치

이미지가 작을 때 잘 동작합니다. 그러나 더 큰 이미지를 처리 ​​할 때 탐지 된 키포인트의 수가 증가하므로 일치시킬 많은 시간이 소요됩니다. 그러나 이미지를 꿰매기 위해서는 너무 많은 키포인트가 필요하지 않은 것 같습니다. 효율성을 높이려면 제한된 수의 키포인트 만 감지 할 수있는 방법이 있습니까?

코드에서 SiftFeatureDetector 및 SiftDiscriptorExtractor를 사용하여 키포인트를 감지하고 설명자를 추출합니다.

감사합니다.

답변

1

내 조언 :

다시 크기가 훨씬 작아 다음 기능 매칭을 실행할 수 있도록 이미지. 일단 빠른 솔루션을 사용하면 (호모 그래피)이를 적용하고 다음 일치가 훨씬 빨라집니다.

손쉽게 기능의 양을 제어 할 수있는 방법이 있습니다. 임계 값을 높일 수 있으므로 적은 기능이 선택됩니다. while() 루프에서 임계 값을 래핑 할 수도 있습니다. 특징 량이 N보다 작을 때까지 (그러나 일부 M보다 강하다) 문턱 값을 높인다. 전체 코드 예제에서

봐 내가 여기에 게시 :

Calculate offset/skew/rotation of similar images in C++

+0

1, 재 크기가 좋은 방법입니다. detector.detect (img, feature, mask)에서 마스크 매개 변수를 사용하면 동일한 결과가 나타납니다. 맞습니까? 2, 감지기에 의해 얻은 기능의 양을 제어하기 위해. 감지 기능이 임계 값을 설정할 수 없기 때문에 쉽지 않습니다. – beaver

+0

마스크를 사용하는 것이 좋지만 마스크가 무엇인지 반드시 알지 못합니다. 좋은 기능을 찾을 수있는 곳을 미리 어떻게 알 수 있습니까? 광고는, 특징 량을 거기 I 게시 예에 관하여 :의 PTR = 새로운 SurfFeatureDetector 검출기 (2000); 2000 당신이> detector-와 함께이 라인을 wraping 감지하고 감지 기능의 양에 조건을 넣어 변경해야 할 수 있습니다 – DanielHsH