2015-02-23 88 views
0

我將一些圖像複製到C++中的矢量中。現在我需要在某個地方使用相同的墊子。我將如何從push_back中獲取我的數據。請幫助我。這裏是代碼的一部分......從Push_back獲取數據

for (ic = 0; ic < images.size(); ic++) 
    { 
     roi_b.x = images[ic].x; 
     roi_b.y = images[ic].y; 
     roi_b.width = (images[ic].width); 
     roi_b.height = (images[ic].height); 
     crop = image(roi_b); 
     Ims.push_back(crop); //Ims<vector> 
} 

現在讓我們假設我需要返回存儲在ims處的數據。我將如何獲得該

回答

2

您可以使用std::vector::back()

crop = Ims.back(); 

如果你想通過Ims枚舉,你可以做

for (size_t i = 0; i < Ims.size(); ++i) 
    crop = Ims[i]; 

,做你想要在crop什麼。

+0

with crop = ims.back()我只是得到最後的圖像不是全部 – kkdirvi 2015-02-23 14:45:06

+0

@kkdirvi請更具體地說明你想得到什麼。 – timrau 2015-02-23 14:48:54

+0

timrau ......讓我使用Push_back()將image1和image2複製到Mat圖像。每個圖像的大小設爲64x64。現在我需要將這兩個圖像複製到一個大小爲128x128的墊子上......現在我的問題已經清楚,我認爲 – kkdirvi 2015-02-23 14:51:39

1

您可以使用at()函數或重載的operator[]來訪問矢量的成員和任何索引。如果你想要最後一個元素,那麼你可以使用back()

+0

你能解釋我可以如何使用或重載操作符? – kkdirvi 2015-02-23 14:54:04

+0

@kkdirvi:你只需要像數組那樣執行'Ims.at(some_index)'或'Ims [some_index]'。 – NathanOliver 2015-02-23 15:04:41