用 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();
}
}
}