代码之家  ›  专栏  ›  技术社区  ›  shruti singh

无法使用OpenCV和Emgu实现图像拼接

  •  0
  • shruti singh  · 技术社区  · 5 年前

    我使用Emgu包装打开的CV缝合平面(扫描模式)图像,因为我是在c#编码。这些图片是我的chrome窗口等的屏幕截图,我在那里向下滚动页面并拍摄了多张屏幕截图。我已经浏览了Stackoverflow上已经发布的各种问题。下面是我的代码,由于一些重复出现的异常,我无法获得所需的结果。

    我的代码:

        private string StitchFirstNImages(List<Mat> matList, string result_name)
        {
            using (Stitcher stitcher = new Stitcher(Stitcher.Mode.Scans, true))
            using (AKAZEFeaturesFinder finder = new AKAZEFeaturesFinder())
            {
                stitcher.SetFeaturesFinder(finder);
                stitcher.WaveCorrection = false;
                stitcher.SetWarper(new PlaneWarper(1));
                using (VectorOfMat vm = new VectorOfMat())
                {
                    Mat result = new Mat();
                    for (int i = 0; i < matList.Count; i++)
                    {
                        vm.Push(matList[i]);
                    }
    
                    Console.WriteLine("Started Stitching = "+ matList[0].ToString());
                    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_name, result);
                    Console.WriteLine("stitching completed successfully\n" + result_name + " saved!");
                    return result_name;
                }
            }
        }
    

    一些stackoverflow文章建议关闭WaveCorrection,但这对我没有帮助。我试图在这里提供一组63个图像(我的一组甚至可能包含100个图像)并一次性缝合它们。我不是在做对缝。我的套装只包含 png images .

    使用的图像集: https://ankurqa.mangopulse.com/sf/MzYyNF8xMTIyMjg2

    面对以下例外情况:

    System.AccessViolationException异常
    HResult=0x80004003
    消息=试图读取或写入受保护的内存。这通常表示其他内存已损坏。
    Source=无法计算异常源
    堆栈跟踪: 无法计算异常堆栈跟踪

    无法分配xxxxxx字节

    呃你需要更多的信息

    我是新的缝合,上面的代码,我写的是通过以下多篇文章。

    如果我做得对的话,有人能建议一下吗? 如果我需要更改功能查找程序,请告诉我?(我尝试了OrbFeaturesFinder,但还是得到了上面的第一个异常)

    我已经经历了多个stackoverflow问题,并试图调整我的代码,但没有积极的结果。

    0 回复  |  直到 5 年前