有一个比较大的数据集需要自己处理,在分出训练集和测试集时,如果靠手动实在太麻烦,于是自己写了一段代码。(其实就是在某一路径下的子文件夹里取出符合要求的图片,放到另一个路径的对应文件夹中)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
from PIL import Image import os import glob def read_image(cwd,newpath): for roots,dirs,files in os.walk(cwd): print (dirs) for i in dirs: print (i) os.chdir(cwd + i) for pic in glob.glob( '*.jpg' ): _,image = pic.split( '_' ) img = image.split( '.' )[ 0 ] print (img) if len (img)! = 0 : if int (img) % 2 ! = 0 : im = Image. open (pic) im.save(newpath + i + '/' + pic) |
调用的时候直接
1
|
read_image( '/media/fly/4898FC1598FC02EC/RAN/AID_dataset/AID_dataset/AID/' , '/media/fly/4898FC1598FC02EC/RAN/AID_dataset/AID_dataset/testing/' ) |
这是在AID文件夹下的所有子文件夹中取出编号为奇数的图片,放到另一个路径的同名文件夹下。我的图片命名方法是Airport_1.jpg.
不一定要取出一半图片,这个可以自行修改
以上这篇python 从文件夹抽取图片另存的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/bowaqi0863/article/details/78651456