当前位置: 首页> 游戏> 网游 > 极简opencv操作xml文件

极简opencv操作xml文件

时间:2025/7/12 6:32:40来源:https://blog.csdn.net/qianbo042311/article/details/139640568 浏览次数:2次

目标

修改xml文件,先产生一个临时文件,拷贝,修改,改名,使用opencv 非常简单地就可以搞定配置xml文件

code

#include <opencv2/opencv.hpp>
#include <iostream>
#include <opencv2/core/utils/filesystem.hpp> // 需要包含此头文件以使用cv::utils::fs::copy_fileusing namespace cv;
using namespace std;int main() {// 创建FileStorage对象用于读操作FileStorage fs_read("example.xml", FileStorage::READ);if (!fs_read.isOpened()) {cout << "无法打开文件!" << endl;return -1;}// 读取并存储所有数据到内存中FileStorage fs_temp("temp.xml", FileStorage::WRITE); // 创建一个临时文件来保存修改后的数据fs_read.copyTo(fs_temp); // 复制原始文件内容到临时文件fs_temp.release(); // 释放临时文件的写入对象fs_read.release(); // 释放原文件的读取对象// 打开临时文件进行修改fs_temp.open("temp.xml", FileStorage::UPDATE);if (!fs_temp.isOpened()) {cout << "无法打开临时文件进行修改!" << endl;return -1;}// 修改特定数据项,例如增加frameCountint frameCount;fs_temp["frameCount"] >> frameCount;fs_temp << "frameCount" << (frameCount + 10); // 假设我们要将frameCount增加10fs_temp.release(); // 关闭临时文件// 替换原文件if (cv::utils::fs::exists("example.xml")) {cv::utils::fs::remove("example.xml"); // 删除原文件}cv::utils::fs::copy_file("temp.xml", "example.xml"); // 将临时文件复制回原文件名cv::utils::fs::remove("temp.xml"); // 删除临时文件cout << "frameCount已更新并保存至原文件example.xml" << endl;return 0;
}
关键字:极简opencv操作xml文件

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: