分类: 2012-10-27 11:04 753人阅读 (1)
在新版本的Emgu cv中添加了Emgu.CV.Stitching,这极大的方便了图像拼接程序的实现。
实现步骤非常简单,首先读取图片,保存为多图片矩阵,再使用Stitching接口提供的Stitch方法完成,具体程序如下:
Image<Bgr, Byte>[] sources;
OpenFileDialog open = new OpenFileDialog();
open.CheckFileExists = true; open.Multiselect = true; open.Filter = "打开图片|*.jpg"; open.ShowDialog(); sources=new Image<Bgr,byte>[open.FileNames.Length]; for (int i = 0; i < open.FileNames.Length; i++) { sources[i] = new Image<Bgr, byte>(open.FileNames[i]); } pictureBox1.Image = sources[0].Bitmap; pictureBox2.Image = sources[1].Bitmap; pictureBox3.Image = sources[2].Bitmap; Stitcher stitcher = new Stitcher(true); Image<Bgr, byte> result = stitcher.Stitch(sources); pictureBox4.Image = result.Bitmap;不过值得注意的是Stitch的CV程序对计算机显卡的version有要求,需要更新新版本驱动,若是旧版本很有可能提示:
OpenCV: CUDA driver version is insufficient for CUDA runtime version
程序运行结果如附图: