У меня есть набор изображений, которые я сделал, когда менял положения полосы прокрутки (вертикальной и горизонтальной) приложения (хром) на рабочем столе.Я хочу сшить все эти изображения, чтобы получить полное представление о веб-странице.Например: https://hub.mangoapps.com/sf/MTUzMjMwXzE2NDYxMTA
Я использую EmguCv для этого.Ниже приведен мой код, но я получаю размытое и черноватое изображение из-за этого, и оно ужасно терпит неудачу, когда на веб-странице есть какое-то всплывающее окно или реклама, которая находится в постоянной позиции, даже когда я прокручиваю страницу (пример: https://hub.mangoapps.com/sf/MTUzNjczXzE2NDkwNzM).
//mode = SCAN
using (Stitcher stitcher = new Stitcher(mode, true))
using (AKAZEFeaturesFinder finder = new AKAZEFeaturesFinder())
{
stitcher.SetFeaturesFinder(finder);
stitcher.WaveCorrection = false;
using (VectorOfMat vm = new VectorOfMat())
{
Mat result = new Mat();
for (int i = 0; i < matList.Count; i++)
{
vm.Push(matList[i]);
}
//PlaneWarper throws AccessViolationException, hence not using it
//stitcher.SetWarper(new PlaneWarper(1.0f));
Stitcher.Status status = stitcher.Stitch(vm, result);
if (status != Stitcher.Status.Ok)
{
Console.WriteLine("Can't stitch images, error code = " + status);
return String.Empty;
}
Emgu.CV.CvInvoke.Imwrite("result.png", result);
return "result.png";
}
}
Может ли кто-нибудь помочь с правильными конфигурациями, необходимыми для того, чтобы я получил идеально сшитое изображение из моего набора изображений?
Я смотрел на конвейер сшивания , ноя не могу понять, как это очень сложно, и поэтому я использую API высокого уровня, предоставляемый Openv.