2021年1月5日 星期二

在C#上使用emgucv中的image stitching(影像拼接)功能

markdown 測試資料下載:test data 安裝emgucv方法參考連結 ```=C# //載入影像到image array中 string[] dirs = Directory.GetFiles(@"你的影像路徑資料夾", "*.jpg"); Image[] sourceImages = new Image[dirs.Length]; for (int i = 0;i(dirs[i]); } Stitcher stitcher = new Stitcher(); //選擇特徵演算法 Emgu.CV.Features2D.SIFT finder = new Emgu.CV.Features2D.SIFT(); WarperCreator warper = new SphericalWarper(); stitcher.SetFeaturesFinder(finder); stitcher.SetWarper(warper); VectorOfMat vm = new VectorOfMat(); Mat result = new Mat(); vm.Push(sourceImages); //紀錄拼接時間 Stopwatch watch = Stopwatch.StartNew(); //拼接開始 Stitcher.Status stitchStatus = stitcher.Stitch(vm, result); watch.Stop(); if(stitchStatus == Stitcher.Status.Ok) { Bitmap img = result.ToBitmap(); img.Save("save.bmp"); } ``` 結果


 可依使用需求修改拼接演算法
 EX:影像角度旋轉量較大的用SIFT 
想要運算速度快一點的可以用ORB

沒有留言:

張貼留言

AOI產業職涯規畫相關文章