首页 > 解决方案 > 从 Emgu::CV::Mat 获取 C++ OpenCV Mat 类型

问题描述

是否有从 Emgu::CV::CVEnum::DepthType 和 NumberOfChannels 到普通 C/C++ CVEnum(例如 CV_8UC3)的简单转换函数。

目前我必须做以下事情:

if (mat->Depth == Emgu::CV::CvEnum::DepthType::Cv8U && mat->NumberOfChannels == 3)
    return CV_8UC3;
else if (mat->Depth == Emgu::CV::CvEnum::DepthType::Cv8U && mat->NumberOfChannels == 1)
    return CV_8UC1;
else
    throw std::runtime_error("Unknown Image Type");

我抛出了异常,因为我目前不想输入所有可以想象的组合,但我仍然希望有一些更强大的东西。有任何想法吗?

标签: opencvc++-cliemgucv

解决方案


推荐阅读