【发布时间】:2015-09-18 06:23:47
【问题描述】:
我有一个基于列(每列是一个特征)的大型数组(大约 100M),其尺寸为 75000(固定)*样本数
这是数据向量:
std::vector<float> features;
我已使用此代码计算平均值:
cv::Mat data(FEATURE_SIZE, features.size()/FEATURE_SIZE, CV_32F, &features[0]);
cv::reduce(data,dataMeans,1,CV_REDUCE_AVG);
FEATURE_SIZE 是 75000,features 是一个包含所有数据的浮点向量。
为了计算均值偏移,我使用了这个:
data -= cv::repeat(dataMeans,1,features.size()/FEATURE_SIZE);
我认为它试图用我的 features 数组创建一个大小相同的数组,因此给了我一个错误的分配异常。
我只需要该数组是有区别的。有没有什么方法可以在不复制的情况下在同一个内存位置上做到这一点?
【问题讨论】: