2016-02-26 150 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

相关问题