opencv学习

opencv学习
全景拼接// 引入C++标准输入输出头文件,用于控制台打印日志、错误信息 #include iostream // 引入C++动态数组容器vector,用于批量存储图片路径、图片矩阵 #include vector // 引入OpenCV核心头文件,包含图像读取、拼接、矩阵Mat等全部基础接口 #include "opencv2/opencv.hpp" // 使用标准命名空间,省去std::前缀(std::cout、std::vector) using namespace std; // 使用OpenCV命名空间,省去cv::前缀(cv::Mat、cv::Stitcher、cv::glob等) using namespace cv; int main() { // 1. 图片文件夹路径:Windows下opencv存放待拼接图像的目录 // glob函数会自动读取该目录下所有图片文件(jpg/png/bmp等) string filePath = "C:/opencv/Image/2"; // 字符串容器:存储文件夹下所有图片的完整绝对路径 vectorstring fileNames; /* * glob(path, result):OpenCV全局文件检索函数 * 作用:遍历指定路径下所有文件,将文件完整路径存入fileNames * 支持相对/绝对路径,Windows路径使用正斜杠/避免转义符冲突 */ glob(filePath, fileNames); // Mat容器:批量存放读取成功的图像矩阵,供拼接器统一处理 vectorMat imgs; // 范围for循环:遍历所有检索到的图片路径 for (auto fileName : fileNames) { // imread:根据文件路径读取图像,返回Mat图像矩阵 Mat img = imread(fileName); // 判空:读取失败(文件损坏、路径错误