2013-07-18 2 views
3

У меня есть два изображения с перекрывающейся областью около 25%, но сбой не получается. Как я могу справиться с этой проблемой?Класс Stitcher Opencv

Я пробовал использовать orb и surf, а также менял Threshold. Есть ли другие варианты, которые я должен рассмотреть?

Mat pano; 
    Stitcher stitcher = Stitcher::createDefault(try_use_gpu=false); 
    //Stitcher::Status status = stitcher.stitch(imgs, pano); 

    //stitcher.setWarper(new PlaneWarper()); 
    stitcher.setWarper(new SphericalWarper()); 
    stitcher.setFeaturesFinder(new detail::SurfFeaturesFinder(1000,3,4,3,4)); 
    //stitcher.setFeaturesFinder(new detail::OrbFeaturesFinder()); 
     stitcher.setRegistrationResol(0.1); 
     stitcher.setSeamEstimationResol(0.1); 
     stitcher.setCompositingResol(0.6); 
stitcher.setPanoConfidenceThresh(1); 
     stitcher.setWaveCorrection(true); 
     stitcher.setWaveCorrectKind(detail::WAVE_CORRECT_HORIZ); 
     stitcher.setFeaturesMatcher(new detail::BestOf2NearestMatcher(false,0.3)); 
     stitcher.setBundleAdjuster(new detail::BundleAdjusterRay()); 
    tstart = clock();  
    Stitcher::Status status = stitcher.stitch(imgs, pano); 

ответ

0

Я бы постарался с большей совпадающей областью, то есть с 40%. Попробуйте с these pictures, он должен работать.

1

25% перекрытий определенно недостаточно. 40% принесут несколько лучшие результаты, но все равно не будут достаточно хорошими. Если вы хотите хорошо накладываться, попробуйте что-то между 60% и 80%. Важно, чтобы следующее изображение в вашей последовательности, которое вы хотите сшить вместе, перекрывает центральную область предыдущего, поскольку есть/не должно быть никаких искажений. С 80% перекрытием, например, происходит не только это, но и центральные области обоих изображений приближаются друг к другу, поэтому вы можете пренебрегать искажениями и находить множество совпадений при условии, что это позволяет качество текстур ваших изображений. Мой совет - сначала взглянуть на образцы, предоставленные самой библиотекой. Вы можете найти последнюю версию на https://github.com/Itseez/opencv/tree/master/samples/cpp/stitcher.cpp и https://github.com/Itseez/opencv/blob/master/samples/cpp/stitching_detailed.cpp. Тогда также хорошо выкопать внутри самого источника (https://github.com/Itseez/opencv/blob/master/modules/stitching/src/stitcher.cpp), а также просмотреть предоставленную документацию в справочном руководстве OpenCV (онлайн или скачать как PDF).

Смежные вопросы