有一个比较大的数据集需要自己处理,在分出训练集和测试集时,如果靠手动实在太麻烦,于是自己写了一段代码。(其实就是在某一路径下的子文件夹里取出符合要求的图片,放到另一个路径的对应文件夹中)
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