c++批量读取一个文件夹中的所有照片
2018-02-09 17:40
127 查看
读取一个文件夹中的所有图片,对图像进行操作之后,将操作后的图片存储到一个文件夹中;
_findfirst返回的参数是intptr_t类型的,定义成long类型的,程序会报错。
int main(int argc, char **argv)
{
if (argc != 2)
{
std::cout << "Usage: images file path error" << std::endl;
}
struct _finddata_t file;
intptr_t If;
std::string path,tempPath; //遍历文件夹中的所有图片
path = path.assign(argv[1]); //文件的路径
tempPath = path.assign(argv[1]);
if ((If = _findfirst(path.append("\\*").c_str(), &file)) == -1) //不加*也会报错
{
std::cout << "Not find image file" << std::endl;
}
else
{
while (_findnext(If, &file) == 0)
{
std::cout << "file name: " << path.substr(0, path.length() - 1) << file.name << std::endl;
cv::Mat srcImage = cv::imread(tempPath + "\\" + file.name, 0);//第一个图片路径..是打不开的
if (!srcImage.data)
{
printf("picture read error");
continue;
}
cv::Mat vecImage(srcImage.rows, srcImage.cols, CV_8UC3, cv::Scalar::all(0));
/*
对图像进行处理操作
*/
std::string resFiles = "resluts/"; //将矢量化图片保存在reslut文件中
cv::imwrite(resFiles + file.name, vecImage); // 遍历所有图片并写出
}
}
_findclose(If);
system("PAUSE");
return 0;
}
_findfirst返回的参数是intptr_t类型的,定义成long类型的,程序会报错。
int main(int argc, char **argv)
{
if (argc != 2)
{
std::cout << "Usage: images file path error" << std::endl;
}
struct _finddata_t file;
intptr_t If;
std::string path,tempPath; //遍历文件夹中的所有图片
path = path.assign(argv[1]); //文件的路径
tempPath = path.assign(argv[1]);
if ((If = _findfirst(path.append("\\*").c_str(), &file)) == -1) //不加*也会报错
{
std::cout << "Not find image file" << std::endl;
}
else
{
while (_findnext(If, &file) == 0)
{
std::cout << "file name: " << path.substr(0, path.length() - 1) << file.name << std::endl;
cv::Mat srcImage = cv::imread(tempPath + "\\" + file.name, 0);//第一个图片路径..是打不开的
if (!srcImage.data)
{
printf("picture read error");
continue;
}
cv::Mat vecImage(srcImage.rows, srcImage.cols, CV_8UC3, cv::Scalar::all(0));
/*
对图像进行处理操作
*/
std::string resFiles = "resluts/"; //将矢量化图片保存在reslut文件中
cv::imwrite(resFiles + file.name, vecImage); // 遍历所有图片并写出
}
}
_findclose(If);
system("PAUSE");
return 0;
}
相关文章推荐
- c++批量读取一个文件夹中的所有照片
- c++批量读取一个文件夹中的所有照片
- c++批量读取一个文件夹中的所有照片
- c++批量读取一个文件夹中的所有照片
- c++批量读取一个文件夹中的所有照片
- c++批量读取一个文件夹中的所有照片
- C#控制台控制台将一个文件夹中的所有txt文件中的数据读取出来
- windows下读取一个文件夹下面所有文件的名字
- 读取一个文件夹或子文件夹内的所有文件范例
- php实现读取出一个文件夹中所有的文件
- java 循环读取一个指定文件夹下的所有文件
- MATLAB 读取一个文件夹中的所有图像
- php读取出一个文件夹及其子文件夹下所有文件的方法示例
- opencv读取一个文件夹里的所有图片
- matlab读取一个文件夹下的所有文件…
- 在网上找了一个读取文件夹下面的所有文件到txt的code 已验证
- JAVA读取一个文件夹下所有某类型文件
- matlab中怎样读取一个文件夹里面的指定类型的所有文件的名称?
- 读取一个文件夹下的所有文件
- C#.NET读取一个文件夹下所有excel文件的代码