VS C++通过路径遍历文件夹图片并生成xml文件并调用

记录一下(每次用到的时候还得去找...):

网上c++生成xml的方法有很多,这里简单介绍以下opencv自带的FileStorage函数使用方法,

1、生成xml文件:


#include <iostream>
#include<opencv2/opencv.hpp>

using namespace cv;
using namespace std;


void img_save_xml(String img_path, String xml_name) {
	FileStorage file_storage; //调用FileStorage 函数
	file_storage.open(xml_name, FileStorage::WRITE); //WRITE 是写入
	vector<String>src_test; //存放图片路径的容器
	glob(img_path, src_test, false);//将文件夹路径下的所有图片路径保存到src_test中
	if (src_test.size() == 0) {//判断文件夹里面是否有图片
		printf("error!!!\n");
		exit(1);
	}

	for (int i = 0; i < src_test.size(); i++) {//依照顺序读取问价下面的每张图片,并显示
		cout << src_test[i] << endl;
	}

	file_storage << "images" << "[";
	for (int i = 0; i < src_test.size(); i++) {//依照顺序读取问价下面的每张图片,并显示
		file_storage << src_test[i];
	}
	file_storage << "]";
	file_storage.release(); //释放

}

int main() {

	String img_path = "";//文件夹路径
	String xml_name = "";//xml文件保存名称
	img_save_xml(img_path, xml_name);
}

效果:

 虽然保存的路径有// 和 \ 但并不影响图片的读取,如果是强迫症那就自己修改一下(本人懒.....)

2、调用xml文件

    FileStorage file_storage;
    file_storage.open(xml_name, FileStorage::READ);
    vector<String>src_test;
    file_storage["images"] >> src_test;

    for (int i = 0; i < src_test.size(); i++) {//依照顺序读取问价下面的每张图片,并显示
        cout << src_test[i] << endl;
    }

FileStorage相关介绍:

FileStorage_zxl2712028的博客-CSDN博客

Open中FileStorage使用_没有最好,只有更好!-CSDN博客_filestorage

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值