2016-04-19 5 views
1

Я пробовал сшивание изображений с помощью EmguCv 3.0. Но он показывает следующие ошибки: «невозможно преобразовать из« Emgu.CV.Image [] »в« Emgu.CV.IInputArray »». И мой код:Изображение Stiching с использованием EmguCv 3.0

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 

Пожалуйста, помогите ...

ответ

1

После некоторой отладки наконец мне удалось получить answer.This отличается от предыдущей версии 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); 
      }