Конфигурации EmguCv для объединения изображений SCAN - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть набор изображений, которые я сделал, когда менял положения полосы прокрутки (вертикальной и горизонтальной) приложения (хром) на рабочем столе.Я хочу сшить все эти изображения, чтобы получить полное представление о веб-странице.Например: 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.

...