直接提供几张连续的照片就可以使用这个类中的函数来拼接了。
这种拼接可以去除重复的地方。
using System;
using System.Windows;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Emgu.CV;
using Emgu.CV.CvEnum;
using Emgu.CV.Structure;
using Emgu.CV.UI;
using Emgu.CV.Features2D;
using Emgu.CV.ML;
using Emgu.CV.Util;
using Emgu.Util;
using Emgu.CV.Face;
using Emgu.CV.VideoSurveillance;
using OpenTK;
using OpenTK.Graphics.OpenGL;
using OpenTK.Graphics;
using Emgu.CV.Stitching;
namespace EmguCVHist
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Image<Bgr, byte> a = new Image<Bgr, byte>("1.jpg");
Image<Bgr, byte> b = new Image<Bgr, byte>("2.jpg");
Image<Bgr, byte> c = new Image<Bgr, byte>("3.jpg");
Stitcher stitcher = new Stitcher(false);
Mat outimg= new Mat();
try
{
stitcher.Stitch(new VectorOfMat(new Mat[] { a.Mat, b.Mat, c.Mat }), outimg);
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
imageBox1.Image = outimg;
}
}
}
所使用的图片为:
最终的运行图和简单的拼接的对比:(上图为使用Stitcher类拼接的)