请问Opencv中 Vec<int, n>啥意思
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问Opencv中 Vec<int, n>啥意思相关的知识,希望对你有一定的参考价值。
如题。typedef Vec<int, 4> Vec4i;这个定义怎么解释呢。每个数组单元由4个整形组成吗?
求解释。谢谢
Vec<int,n>就是用类型int和n将向量模板类Vec做一个实例化。
简单的说,Vec<int,n>就是一个向量类型。可以用来定义向量对象等。
其中,第一个参数int表示Vec中存储的为int类型,第二个参数n为一个整型值,表示每个Vec对象中存储的是n个int值,即n维向量。
比如,Vec<int,2> 表示的就是二维向量,每个对象中存储2个int类型的值x,y,数学含义为x+yi。 参考技术A Vec是一个向量,就比如线性代数的里 a箭头 (箭头写在a上面的)。里面有4个元素<a1,a2,a3,a4>,a1,a2,a3,a4是int类型本回答被提问者和网友采纳
Vector<Vec3b> 与 OpenCV 中 Vector<int> 的区别
【中文标题】Vector<Vec3b> 与 OpenCV 中 Vector<int> 的区别【英文标题】:Vector<Vec3b> difference with Vector<int> in OpenCV 【发布时间】:2016-02-26 02:34:35 【问题描述】:我的项目是关于曲棍球桌上的移动冰球检测和位置查找。我需要使用HoughCircles
来检测冰球的圆形。
但是对于这个 hough 算法,我需要创建一个Vector
。我熟悉Vector
概念及其工作原理(基本),但存在区分例如Vector<int> Vec
和Vector<Vec3b> Vec
的问题。
有没有可能让我知道它们在含义和应用上的区别是什么?
【问题讨论】:
我发布了一个答案。如果您需要更多详细信息,您应该更好地解释您想要做什么,为什么需要它们,并通过一个小代码示例更好地说明 亲爱的 Miki 非常感谢您,这很清楚,非常有帮助。我在教科书和其他教程中看到了这种向量定义,我期待在定义 VECTOR 时,我们定义了 VECTOR 的类型和名称,所以我对这个新名称感到困惑,而 VECTOR 确定我问你们是否有帮助我关于这种定义。 【参考方案1】:注意Vector
和vector
是不同的。 vector
是 std::vector
,而 Vector
是 cv::Vector
。即使在实践中差异很小,但它们确实是不同的东西。
我假设您的意思是 std::vector
,但在这种情况下,这也适用于 cv::Vector
。
vector<int>
是一个整数向量。这没什么好看的。
一个vector<Vec3b>
是一个cv::Vec3b
的向量,它是一个OpenCV结构,包含3个uchar
(unsigned char
),即一个8位的类型,可以包含从0到255的数据。它在事实定义为cv::Vec_<uchar, 3>
。 cv::Vec 是一个模板类,表示短数值向量,最多 4 个元素,但这在这里并不重要。
A Vec3b
通常在 OpenCV 中用于存储像素的颜色,通常是 B、G、R 三元组。
【讨论】:
我自己再好不过了。Vec3b
和Matx
的定义也可以参考documentation。以上是关于请问Opencv中 Vec<int, n>啥意思的主要内容,如果未能解决你的问题,请参考以下文章
使用 O(m) 空间在 O(n) 时间内对向量<int>(n) 进行排序?