gpt4 book ai didi

c++ - opencv中 vector 的概念到底是什么?

转载 作者:太空宇宙 更新时间:2023-11-03 22:05:27 24 4
gpt4 key购买 nike

我正在研究这个程序,它基本上是关于计算图像中的凸面缺陷。我似乎无法消除对以下内容的困惑-

*vector<vector<Point>> hull( contours.size() );
vector<vector<int> > hullsI(contours.size());
vector<vector<Vec4i>> convdefect(contours.size());*

上述程序的链接如下:- Calculating convexityDefects using OpenCV 2.4 in c++

凭直觉我知道 vector 在物理术语中意味着什么,但有人可以用简单的概念向我解释 vector 的概念在 opencv 中的含义(特别是点、整数和 vec4i)以及上述术语之间的区别是什么。?任何链接或建议都会非常有帮助。谢谢

最佳答案

vector 是一个 std::vector .您提到的其他数据结构很容易在 the documentation of OpenCV's basic structures 中找到。 .

但是我注意到 code you linked to包含 cv::vector .如果你看OpenCV 2.4.9's core.hpp你会发现这个

#include <vector>
...
namespace cv {
...
using std::vector;
...
}

它取得了vector出现在cv命名空间;即 cv::vector实际上是 std::vector .我认为 core.hpp 的作者会这样做是为了避免代码中的内部困惑 - 对于 user code创建一个 cv::vector在我看来只会造成困惑,特别是当cv::vectorstd::vector一起使用和 vector好像它们都可能有所不同——看看这段代码的摘录:

cv::vector<cv::Vec4i> hierarchy;    
std::vector<std::vector<cv::Point> > contours;
...
vector<cv::vector<cv::Point> >hull( contours.size() );

事实上,从我所看到的头文件重组方式来看,我不认为cv::vector将存在于 OpenCV 的下一个主要版本(3.0.0)中。

关于c++ - opencv中 vector 的概念到底是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25254472/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com