在OpenCV中,我们可以访问CV_XX类型,这些类型允许您创建一个矩阵,例如CV_32SC1。我如何在EmguCV中执行此操作?
询问的原因是:
我目前正在使用EmguCV并在我需要创建特定类型的图片时遇到错误而无法找到这些值。
这是我的代码:
Emgu::CV::Image<Emgu::CV::Structure::Gray, byte>^ mask = gcnew Emgu::CV::Image<Emgu::CV::Structure::Gray, byte>(gray->Size);
try { CvInvoke::cvDistTransform(255-gray, tmp, CvEnum::DIST_TYPE::CV_DIST_L1, 3, nullptr, mask); }
出现错误:
OpenCV:标签的输出数组必须为32sC1
所以我相信我需要将字节类型更改为32sC1,我该怎么做?
我正在使用EmguCV 2.0
答案 0 :(得分:0)
从Working with images页面,特别是有关EmguCV 2.0的部分,它提供了有关图像深度的以下说明:
图像深度图像深度使用第二个通用指定 参数深度。 Emgu CV 1.4.0.0中支持的深度类型 包括
- Byte
- SByte
- 单身(浮动)
- Double
- UInt16
- Int16
- Int32(int)
我相信这意味着它根本不使用CV_XXX类型而只使用上述类型。
对于我的问题,我将类型设置为Int32,它似乎停止了错误。