Sam*_*mer 5 c++ dll opencv opencv-stitching
我的项目中有一个函数可以拼接,功能很好,很简单:
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());
}
Run Code Online (Sandbox Code Playgroud)
代码运作良好,我能够很好地缝合图像.唯一的问题是,当我想部署我的代码时,我意识到我必须使用非自由的dll.否则,.exe将无法运行.我的问题是:为了使用Stitcheropencv中的类,这意味着你必须支付,即使你没有使用SURF或SIFT算法?有没有办法在不使用"nonfree dlls"的情况下做到这一点?注意:我正在使用opencv 2.4.2.编辑:我也用它测试过OpenCV 2.4.11
因此,经过大量挖掘。我想我已经找到了这个问题的解决方案:opencv_modules.hpp调用中有一个标志:HAVE_OPENCV_NONFREE
如果您undefine或评论该标志的定义并opencv从源代码构建,那么这应该可以解决这个问题,即opencv_stitching.dll不会依赖于opencv_non-free.dll
| 归档时间: |
|
| 查看次数: |
573 次 |
| 最近记录: |