OpenCVSharp 图像拼接

用 OpenCVSharp 4.5 跑一遍 OpenCV 官方教程。

原 OpenCV 官方教程链接:OpenCV: High level stitching API (Stitcher class)

using OpenCvSharp;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class tutorial60 : ITutorial
    {
        public void Run()
        {
            bool divide_images = false;
            Stitcher.Mode mode = Stitcher.Mode.Panorama;

            string folderName = @"I:\csharp\testdata\stitching\";
            string[] imageFiles = { "boat1.jpg", "boat2.jpg", "boat3.jpg", "boat4.jpg", "boat5.jpg", "boat6.jpg" };

            string result_name = "result.jpg";
            Mat[] imgs = new Mat[imageFiles.Length];

            //读入图像
            for (int i = 0; i < imageFiles.Length; i++)
            {
                imgs[i] = new Mat(folderName + imageFiles[i], ImreadModes.Color);
            }

            Mat pano = new Mat();
            Stitcher stitcher = Stitcher.Create(mode);
            Stitcher.Status status = stitcher.Stitch(imgs, pano);
            if (status != Stitcher.Status.OK)
            {
                Console.WriteLine("Can't stitch images, error code = {0} ", (int)status);
                return;
            }
            //Cv2.ImWrite(result_name, pano);
            using (new Window(result_name, pano, WindowFlags.Normal))
                Cv2.WaitKey();
        }
    }
}

 

 

 


版权声明:本文为jimtien原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。