OpenCV 使用问题汇总 📅 2026/7/10 12:47:46 1. 不识别string有时调用 OpenCV 的函数会遇到这样的报错文档中明明写着参数类型是String但传给string类型即编译不过。这是因为 OpenCV 默认支持的类型是cv::String而我们传入的类型一般是std::string如果不写命名空间则只差首字母大小写较难区分。2. 找不到OpenCV有可能是OpenCV的版本问题此时只需要把find_package(OpenCV REQUIRED)改为带版本即可例如find_package(OpenCV 3 REQUIRED)3. 矩阵/图像复制无效如果这样写得到的结果会让你失望cv::Mat picture cv::Mat::zeros(rows, cols, picture1.type()); picture.colRange(0, picture1.cols) picture1; picture.colRange(picture1.cols, cols) picture2;这是因为 OpenCV 中的拷贝都是浅拷贝使用下面的深拷贝就可以解决这个问题。cv::Mat picture cv::Mat::zeros(rows, cols, picture1.type()); cv::Mat left_side picture.colRange(0, picture1.cols); picture1.copyTo(left_side); cv::Mat right_side picture.colRange(picture1.cols, cols); picture2.copyTo(right_side);