c++中如何使用opencv向vector的动态数组结构体中,添加结构体
时间: 2024-12-23 12:27:13 浏览: 7
在C++中,结合OpenCV(Open Source Computer Vision Library)和动态向量`std::vector`存储结构体,你需要首先定义一个包含所需OpenCV数据类型的结构体,然后使用`push_back()`方法将新创建的结构体实例添加到向量中。这里是一个简单的例子:
```cpp
#include <opencv2/opencv.hpp>
#include <vector>
// 假设我们有一个名为"ImageInfo"的结构体,包含了OpenCV图像的一些信息
struct ImageInfo {
cv::Mat image; // OpenCV的Mat对象
int width;
int height;
};
int main() {
std::vector<ImageInfo> imageVector;
// 创建一个新的ImageInfo实例并赋值
ImageInfo newImage;
newImage.image = cv::imread("example.jpg"); // 读取一张图片
newImage.width = newImage.image.cols;
newImage.height = newImage.image.rows;
// 添加到vector
imageVector.push_back(newImage);
// 现在imageVector里已经有了一张图片的信息
for (const auto& info : imageVector) {
std::cout << "Width: " << info.width << ", Height: " << info.height << std::endl;
}
return 0;
}
```
阅读全文