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