矢量<vec3b>与OpenCV中的Vector <int>的区别

时间:2016-02-26 02:34:35

标签: c++ image opencv image-processing vector

我的项目是关于曲棍球桌上的移动冰球探测和定位。我需要使用HoughCircles来检测圆盘的圆形形状。 但是对于这个霍夫阿尔科特,我需要做一个Vector。我熟悉Vector概念及其工作原理(基本),但存在区分问题,例如Vector<int> VecVector<Vec3b> Vec

有人可以告诉我他们在意义和应用方面的差异吗?

1 个答案:

答案 0 :(得分:3)

注意Vectorvector是不同的。 vectorstd::vector,而Vectorcv::Vector。即使在实践中差异很小,但它们确实是不同的东西。

我假设你的意思是std::vector,但在这种情况下,这也适用于cv::Vector

vector<int>是整数向量。没什么好奇的。

vector<Vec3b>cv::Vec3b的向量,它是一个OpenCV结构,包含3个ucharunsigned char),即一个8位可以包含数据的类型从0到255.事实上它被定义为cv::Vec_<uchar, 3>cv::Vec是一个模板类,代表短数字向量,最多4个元素,但这在这里并不重要。

在OpenCV中通常使用Vec3b来存储像素的颜色,通常是B,G,R三元组。