我尝试使用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/