opencv的命名方法数字 连续增加 例如1.jpg 、2.jpg ...
Img_Name = "./eds/copyimages/" + str(i)+ ".jpg"
opencv 保持函数
cv2.imwrite(Img_Name,img) #python
cv::imwrite(Img_Name,img) //C++
完整代码,根据自己的需要自行修改,这是python版的
import os
import cv2
# 打开文件
path = "./eds/images"
dirs = os.listdir(path)
print(dirs) # 输出所有子文件和文件夹
for file in dirs:
pic_dir = os.path.join(path, file) # images中子文件夹的路径
for i in os.listdir(pic_dir):
image_dir = os.path.join(pic_dir, i) # images中每个子文件夹中图片的路径
img = cv2.imread(image_dir)
print(image_dir) # 输出图片的路径
print(img) # 输出图片
# 读取
img = cv2.imread(image_dir)
# 显示
cv2.imshow('window_title', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 保存
Img_Name = "./eds/copyimages/" + str(i)
cv2.imwrite(Img_Name , img)
C++版
#include<opencv2/opencv.hpp>
#include<iostream>
using namespace std;
using namespace cv;
int main()
{
char fileName[50]; //读取图片的路径
char fileName1[50];//保存图片的路径
Mat src,dst;
for (int i = 1; i < 3; i++) {
sprintf_s(fileName, "E:\\Download\\Images\\%d.jpg", i); //读取图片的路径
sprintf_s(fileName1, "E:\\Download\\Images\\xpx\\%d.jpg", i); //保存图片的路径
src = imread(fileName); //从路径中读取图片
//**********************************************
//操作,这里简单转化为灰度图,仅做展示
cvtColor(src, dst,COLOR_BGR2GRAY);
//****************************************************
imwrite(fileName1, dst); //保存处理后的图片
}
waitKey(0); //单位毫秒,0表示永远
return 0;
}