2016-01-15 2 views
5

У меня есть функция в моем проекте, который будет делать стежки, функция работает нормально, это очень просто:OpenCV сшивания с бесплатной библиотекой DLL

Mat output(m_Img, true), pano; // a panaoramic image 

    bool try_use_gpu = true; 
    Stitcher iSticher = Stitcher::createDefault(try_use_gpu); 
    // Set Feature finder to be ORB 
    iSticher.setFeaturesFinder(new detail::OrbFeaturesFinder()); 

    try{ 

     Stitcher::Status status = iSticher.stitch(Imgs, pano); 
     if (status != Stitcher::OK) 
     { 
      LOG("Error stitching - Code: %d", int(status)); 
      return -1; 
     } 
    } 
    catch(exception e) 
    { 
     LOG("Cannot Stitch Image,%s",e.what()); 
    } 

код работает хорошо, и я был в состоянии сшить изображения достаточно Что ж. Единственная проблема заключается в том, что когда я хочу развернуть мой код, я понял, что мне нужно использовать несвободную dll. В противном случае .exe не будет работать. Мои вопросы: для использования класса Stitcher из opencv это означает, что вы должны заплатить, , даже если вы не используете SURF или SIFT алгоритмов? Есть ли способ сделать это без использования «несвободных DLL»? Примечание: Я использую opencv 2.4.2. Редактирование: Я также тестировал его с помощью OpenCV 2.4.11

+0

В какой несвободной библиотеке вы используете? –

+0

@ KyryloPolezhaiev, насколько я знаю, есть только один non-free.dll. Но, если вы спрашиваете о не бесплатных функциях, я не использую какую-либо несвободную функцию, это только код здесь в вопросе ... – Samer

+0

Кажется, вам не нужно разворачивать 'opencv_nonfree.dll',' opencv_stitching. dll' вместо этого. Вы использовали SIFT или SURF в другом месте? Или вы явно ссылались на 'opencv_nonfree.lib' в своем проекте? – herohuyongtao

ответ

1

Итак, после много рытья. Я думаю, я нашел решение этой проблемы: Существует флаг в opencv_modules.hpp называется: HAVE_OPENCV_NONFREE Если вы undefine или комментарий определение этого флага и строить opencv из источника, то это должно решить эту проблему, т.е. opencv_stitching.dll не будет depeneds на opencv_non-free.dll

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