OpenCV中Mat::zeros函数问题

在做目标检测的东西,这里是为了初始化训练样本的特征向量组成的矩阵,行数是样本个数,列数为描述子维数。代码段如下:if(0==num){DescriptorDim=desc... 在做目标检测的东西,这里是为了初始化训练样本的特征向量组成的矩阵,行数是样本个数,列数为描述子维数。代码段如下:
if (0 == num)
{
DescriptorDim = descriptors.size();
sampleFeatureMat = Mat::zeros(PosSamNO + NegSamNO + HardExampleNO, DescriptorDim, CV_32FC1); //该句出现内存访问的错误
sampleLabelMat = Mat::zeros(PosSamNO + NegSamNO + HardExampleNO, 1, CV_32FC1);
}
注释那里会发生内存访问的错误,错误内容为:
0x745FB802 处(位于 test.exe 中)有未经处理的异常: Microsoft C++ 异常: cv::Exception,位于内存位置 0x00D2E054 处。
调试的时候参数值分别是PosSamNO + NegSamNO + HardExampleNO, DescriptorDim = 15559,DescriptorDim = 34020。想问下Mat::zeros(int, int, int)这个函数传参有没有什么要求呢?根据错误应该是越界的问题,但是有点没头绪,还望各位不吝赐教,谢谢!
展开
 我来答
alantiss
2017-05-25 · TA获得超过767个赞
知道小有建树答主
回答量:448
采纳率:0%
帮助的人:234万
展开全部
下面是我的代码和结果,没有问题,代码主题部分就是复制的你上面的 #include "stdafx.h"#include using namespace cv;using namespace std;int _tmain(int argc, _TCHAR* argv[]){Mat R=Mat_::eye(3, 3),T = Mat_::zeros(3, 1);cout
TableDI
2024-07-18 广告
VLOOKUP是Excel中用于垂直查找的函数,其基本用法包括四个参数:1. 查找值:即在数据表首列中需要搜索的值。2. 数据表:包含查找值的单元格区域或数组。3. 返回值所在列数:指定返回查询区域中第几列的值。4. 查找方式:选择精确匹配... 点击进入详情页
本回答由TableDI提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式