我尝试使用EmguCv 3.0进行图像拼接。但它显示以下错误:“无法从'Emgu.CV.Image []'转换为'Emgu.CV.IInputArray'”。我的代码是:

Image<Bgr, byte>[] src = new Image<Bgr, byte>[3];
        Image<Bgr, byte>res = new Image<Bgr, byte>(1000,750);
        src[0] = new Image<Bgr,byte>("D:/New folder/images/Fit01.jpg");
        src[1] = new Image<Bgr,byte>("D:/New folder/images/Fit02.jpg");
        src[2] = new Image<Bgr,byte>("D:/New folder/images/Fit03.jpg");

        Stitcher stitcher = new Stitcher(false);
        stitcher.Stitch(src,res);//here showing error

请帮忙...

最佳答案

经过一番调试后,我设法得到了答案,这与EmguCv 3.0的早期版本不同,后者仅接收一个用于拼接的参数,下面是代码

            Mat i1 = new Mat("D:/New folder/images/Fit01.jpg", LoadImageType.Color);
            Mat i2 = new Mat("D:/New folder/images/Fit02.jpg", LoadImageType.Color);
            Mat i3 = new Mat("D:/New folder/images/Fit02.jpg", LoadImageType.Color);
            using (VectorOfMat vmsrc = new VectorOfMat(i1, i2, i3))
            {
                Image<Bgr, byte> res = new Image<Bgr, byte>(1000, 750);
                Mat result = new Mat();
                Stitcher stitcher = new Stitcher(false);
                stitcher.Stitch(vmsrc, result);
                ImageViewer.Show(result);
            }

关于c# - 使用Emgu Cv 3.0进行图像拼接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36716003/

10-11 21:28