EmguCV使用Stitcher类来拼接图像

直接提供几张连续的照片就可以使用这个类中的函数来拼接了。
这种拼接可以去除重复的地方。

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类拼接的)

你可能感兴趣的:(EmguCV)