vector<Mat> images;
vector<int> labels;
我假设Mat
是图像的结构,int
是数据类型。但是什么是vector
?
它是一个二维数组吗?请事先明确表示怀疑。
答案 0 :(得分:1)
在C ++中,std::vector
是一个封装动态大小数组的序列容器。这是一个 1
- 维数组,其元素是连续存储的。
对于vector<Mat> images;
,images
被声明为1
- 维数组,其元素为cv::Mat
s。
要定义此类元素的2
维数组,您可以使用vector<vector<Mat>> images_2d;
。
对于vector<int> labels;
,labels
被声明为1
- 维数组,其元素为int
s。
要定义此类元素的2
维数组,您可以使用vector<vector<int>> labels_2d;
。
答案 1 :(得分:0)
vector<int> labels
表示标签矢量。因此,只要您想在此向量中插入元素,就可以label.push_back(elementToBeInserted);
。
每当您想要访问此向量中存在的元素时,您可以执行以下操作:
for(int i=0; i<labels.size(); i++)
{
int element = labels[i];
cout<<Element: <<element;
}
类似的描述适用于vector<Mat> images;
。还有一件事是Mat
代表Matrix
,图像存储为矩阵。
PS: vector< vector<int> >labels;
将代表2D矢量