vector<Mat> images;
vector<int> labels;
我假定Mat
是用于图像的结构和int
是一个数据类型在下面的两行之间的差异。但是什么是vector
? 它是一个二维数组吗?请提前清除我的疑问。是什么在OpenCV进行图像
vector<Mat> images;
vector<int> labels;
我假定Mat
是用于图像的结构和int
是一个数据类型在下面的两行之间的差异。但是什么是vector
? 它是一个二维数组吗?请提前清除我的疑问。是什么在OpenCV进行图像
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;
将代表一个二维矢量
在C++中,std::vector
是一个封装动态大小的数组一个序列容器。这是一个1
维数组,其元素连续存储。
对于vector<Mat> images;
,images
被宣布为一个1
- 尺寸数组,其元素是cv::Mat
秒。
要定义这样的元素的2
维数组,您可以使用vector<vector<Mat>> images_2d;
。
对于vector<int> labels;
,labels
被声明为1
维数组,其元素为int
s。
要定义这样的元素的维数组,可以使用vector<vector<int>> labels_2d;
。
是矢量类似于数组,如果是,那么什么为DIFF – user3309272
没有进入编程细节,我会说,它们是相似的,但主要的区别是,在'vectors'你不需要指定情况尺寸。无论何时你想插入一个元素,都可以通过'label.push_back()'来完成,并且它存储在下一个可用的位置。如果对你有用,请注意/接受我的回答。 – skm