私のプロジェクトには、ステッチを行う機能があります。機能は正常に機能しています。非常に簡単です。
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