OpenCV:未知数组类型错误在Matrix.cpp
OpenCV: Unknown Array Type error in Matrix.cpp
我使用EmguCV矩阵。添加一个方法将一个矩阵附加到另一个矩阵。
Emgu.CV.Matrix<float> descriptors = new Emgu.CV.Matrix<float>(0, dictionarySize);
Emgu.CV.Matrix<float> BOWDescriptor = imageDescriptorExtractor.Compute(trainingImage, keyPoints);
descriptors.Add(BOWDescriptor);
对应的OpenCV代码如下:
Mat bowDescriptor(0, dictionarySize, CV_32FC1);
Mat bowDescriptor;
bowDE.compute(img, keypoints, bowDescriptor);
descriptors.push_back(bowDescriptor);
在编译过程中,我不会得到任何异常。但是,当运行应用程序时,我得到以下错误:
类型为'Emgu.CV.Util '的未处理异常。附加信息:OpenCV: Unknown array type
这是否与CV_32FC1数据类型有关?我的OpenCV到EmguCV转换正确吗?
谢谢你的帮助。
谢谢Jay
CV_32FC1仅仅意味着一个单通道,32位浮点数组,因为你不能有零通道,默认的矩阵构造函数应该是好的。
你有没有试过在你的"添加"调用上设置一个断点并检查两个矩阵?我不确定EmguCV何时抛出该异常,但可能是矩阵大小不匹配。
另外,我刚刚注意到你的"描述符"对象的构造函数有0行;这是打错了吗?
相关文章:
- 警告处理为错误这里有什么问题
- "error: no matching function for call to"构造函数错误
- boost::进程间消息队列引发错误
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- QT在错误的班级中寻找空位
- vector.resize()中的分配错误
- 代码在main()中运行,但在函数中出现错误
- 释放错误后堆使用
- (C++)分析树以计算返回错误值的简单算术表达式
- Project Euler问题4的错误解决方案
- 我的字符计数代码计算错误.为什么
- 从"int*"强制转换为"unsigned int"会丢失精度错误
- 尝试导入pybind-opencv模块时出现libgtk错误
- CMake项目Boost库错误:Boost/config/compiler/gcc.hpp:165:10:致命错误:cs
- 特征"Sparse matrix format"示例是否包含错误?
- | 9 |错误:非静态数据成员'matrix :: row'| 9 |错误:数组绑定不是在']']'令牌|之前的整数常数
- MAtrix 乘法中的分段错误
- OpenCV:未知数组类型错误在Matrix.cpp
- 视觉基本C++错误。运行时检查失败 #2 - 变量周围的堆栈'matrix'已损坏