You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Emgu CV的GPU加速功能拼接1000张瓦片图像?

Emgu CV C#下GPU加速图像拼接方案求助

需要将1000张瓦片图像拼接为单张大图,当前使用Emgu CV处理速度无法满足需求,尝试GPU加速未成功,具体尝试了两种方案:

方案1:拼接VectorOfGpuMat报错

尝试直接用VectorOfGpuMat进行拼接,抛出错误OpenCV: Unknown/unsupported array type,代码如下:

private GpuMat DoStichingWork(VectorOfGpuMat images)
{
    Brisk detector = new Brisk();
    using (Stitcher stitcher = new Stitcher(Stitcher.Mode.Panorama))
    using (WarperCreator warper = new SphericalWarperGpu())
    {
        stitcher.SetFeaturesFinder(detector);
        stitcher.SetWarper(warper);
        using (VectorOfGpuMat vm = new VectorOfGpuMat())
        {
            GpuMat output = new GpuMat();
            vm.Push(images);
            var status = stitcher.Stitch(vm, output);
            if (status == Stitcher.Status.Ok)
            {
                return output;
            }
            else
            {
                return null;
            }
        }
    }
}

方案2:GPU包装器未激活GPU

使用GPU包装器运行代码无报错,但GPU未被激活,速度没有提升,代码如下:

private Mat DoStichingWorkSimple(VectorOfMat images)
{
    Brisk detector = new Brisk();
    using (Stitcher stitcher = new Stitcher(Stitcher.Mode.Panorama))
    using (WarperCreator warper = new SphericalWarperGpu())
    {

        stitcher.SetFeaturesFinder(detector);
        stitcher.SetWarper(warper);
        using (VectorOfMat vm = new VectorOfMat())
        {
            Mat output = new Mat();
            vm.Push(images);
            var status = stitcher.Stitch(images, output);
            if (status == Stitcher.Status.Ok)
            {
                return output;
            }
            else
            {
                //lblStatus.Text = "Failed to stitch.";
                return null;
            }
        }
    }
}

目前未在Emgu CV中找到基于CUDA的拼接方法,已知Python和C++可实现该功能,寻求C#下Emgu CV GPU拼接的可行方案。

使用的NuGet版本

  • Emgu.CV: Version="4.7.0.5276"
  • Emgu.CV.Bitmap Version="4.7.0.5276"
  • Emgu.CV.runtime.windows.cuda Version="4.4.0.4099"

参考文档

  • OpenCV Stitcher类文档
  • Emgu CV Stitcher类文档
  • Emgu CV CUDA命名空间文档

内容的提问来源于stack exchange,提问作者bmurf17

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 21:26:08