У меня есть несколько небольших изображений карты мира (снятых с дрона каждые 1 сеанс c, поэтому новое изображение накладывается на предыдущее).
Если я помещаю их на карту, результат будет выглядеть как
I am looking for some fast library that would be able to stitch images so I can show the map.
I already tryed Emgu, Accord, OpenCvSharp... but I am stuck, because some of them are not able to properly stitch images since they are small, some of them are to slow and some are loosing image quality by every new stitching.
What is the correct method to create orthomosaic?
Currently I am stitching new image to previous one (which is already stitched with previous one), I thought this will be faster and since I do not have all images at once I thought its the correct way, but as I already told I am loosing images quality, also if I try to stitch all current images at once it takes to much time.
Any suggestions and pointing will be great.
Here is example data
данные изображения
В настоящее время с Accord. Net и приведенный ниже код (сшивание нового с уже сшитым предыдущим) после 4 изображений возникает проблема
//1
HarrisCornersDetector harris = new HarrisCornersDetector(0.04f, 1000f);
harrisPoints1 = harris.ProcessImage(img1).ToArray();
harrisPoints2 = harris.ProcessImage(img2).ToArray();
//2
CorrelationMatching matcher = new CorrelationMatching(9, img1, img2);
IntPoint[][] matches = matcher.Match(harrisPoints1, harrisPoints2);
// Get the two sets of points
correlationPoints1 = matches[0];
correlationPoints2 = matches[1];
//3
RansacHomographyEstimator ransac = new RansacHomographyEstimator(0.001, 0.99);
homography = ransac.Estimate(correlationPoints1, correlationPoints2);
//4
Blend blend = new Blend(homography, img1);
Bitmap output = blend.Apply(img2);
output.MakeTransparent();
output.Save(locationName, System.Drawing.Imaging.ImageFormat.Jpeg);
output.Dispose();
введите описание изображения здесь