我一直在尝试使用示例程序来拼接图像,但是它不断地耗尽内存。

通过关闭“波动校正”,似乎已成功解决了该问题。尽管这显然可以在openCV中轻松完成,但我无法弄清楚如何在EMGU C#中做到这一点。

以下是我的代码段C#。

// Collect all images
            List<Image<Bgr, Byte>> sourceImages = new List<Image<Bgr, Byte>>();

            for (int i = 1; i <7 ; i++)
            {
                string fileN = fl1 + "n (" + i.ToString() + ").jpg";
                sourceImages.Add(new Image<Bgr, Byte>(fileN));
            }

            try
            {
                using (Stitcher stitcher = new Stitcher(false))
                {
                    // Stitch images
                    Image<Bgr, Byte> result = stitcher.Stitch(sourceImages.ToArray());
                    Bitmap bm = result.ToBitmap();
                    bm.Save(fl1 + "resul.jpeg", ImageFormat.Jpeg);
                }
            }
            finally
            {

            }

欢迎回答任何2.4或3.1版本

最佳答案

尝试缝制之前,请尝试以下使用:

stitcher.WaveCorrection = false;

额外信息here

关于c# - C#Emgucv2.4或3.1禁用拼接波校正,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39189169/

10-09 07:27