Vector<Vec3b>与OpenCV中的Vector<int>的区别

Vector<Vec3b> difference with Vector<int> in OpenCV

本文关键字:Vector 区别 int OpenCV Vec3b 中的      更新时间:2023-10-16

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

有人可以让我知道它们在含义和应用上有什么区别吗?

请注意

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三元组。