2016-02-26 135 views
0

我的項目是關於移動冰球檢測和曲棍球臺上的位置查找。我需要使用HoughCircles來檢測圓盤的圓形。 但是對於這個hough alghoritm我需要編一個Vector。我熟悉Vector的概念以及它是如何工作的(基本),但是存在區分的問題,例如Vector<int> VecVector<Vec3b> Vec矢量<Vec3b>與OpenCV中的Vector <int>的區別

有人可能讓我知道他們在意義和應用上有什麼不同嗎?

+0

我發佈了一個答案。如果你需要更多的細節,你應該更好地解釋你想要做什麼,爲什麼你需要它們,以及更好地使用小代碼示例 – Miki

+0

親愛的三木非常感謝你,這很清楚,非常有幫助。我在課本和其他教程中看到了這種矢量定義,我期待定義VECTOR時,我們定義了VECTOR的類型和名稱,所以我對這個新名稱感到困惑,而VECTOR定義了我向你們詢問是否可以幫助我有關這種定義。 –

回答

3

請注意,Vectorvector是不同的。 vectorstd::vector,而Vectorcv::Vector。即使在實踐中差異很小,它們也是非常不同的東西。

我假設你的意思是std::vector,但在這種情況下,這也適用於cv::Vector


A vector<int>是整數的向量。對此沒有任何幻想。

vector<Vec3b>一個是cv::Vec3b一個載體,它是一種結構的OpenCV保持3 ucharunsigned char),即具有8位類型,可以從0至255。實際上定義爲cv::Vec_<uchar, 3>包含數據。 cv::Vec是一個模板類,表示短數字向量,最多4個元素,但在這裏並不重要。

A Vec3b通常在OpenCV中用於存儲像素的顏色,通常是B,G,R三元組。

+1

自己不能說得更好。有關'Vec3b'和'Matx'的定義,請參考[documentation](http://docs.opencv.org/2.4/modules/core/doc/basic_structures.html#vec)。 – Nacho

相關問題