介绍
这篇文章将为大家详细讲解有关如何使用python实现将文件夹内的每张图片批量分割成多张,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
<强>一,说在前面强>
,,,,需求:有一张长为960,宽为96的图片,需要将其分割成10张96 * 96的图片并存放在另外一个文件夹下,通过手工分割耗时且不规范,选择python写一个简单的程序完成。
<强>二、源码强>
#, - *安康;编码:utf-8 - * - “““ Created 提醒Thu Aug 23 18:19:09 2018 @author:管理员 “““ , import 操作系统 得到PIL import 形象 , #,切割图片 rownum, def splitimage (src, colnum,, dstpath):=,,img  Image.open (src) ,w, h =img.size ,if rownum & lt;=, h 以及colnum & lt;=, w: ,打印(& # 39;Original  image 信息:,% sx % s,, % s,, % & # 39;, %, (h, w,还以为,img.format, img.mode)) ,打印(& # 39;图片切割& # 39;) ,=,,s  os.path.split (src)==,if dstpath & # 39; & # 39;: dstpath 才能;s [0]=,=,s, fn  [1] .split(& # 39; # 39;公司)=,,basename  fn [0]=,,ext  fn [1] , num =, 0=,,rowheight  h //rownum=,,colwidth  w //colnum ,for r 拷贝范围(rownum): for 才能;c 拷贝范围(colnum): box 才能=,(c *, colwidth,, r *, rowheight,,(时间+ c 1), *, colwidth,,(时间+ r 1), *, rowheight) img.crop才能(箱).save (os.path.join (dstpath, basename +, & # 39; _ # 39;, +, str (num), +, & # 39;强生# 39;,+,ext),, ext) 时间=num 才能;num + 1 , ,打印(& # 39;共生成,% s 张小图片# 39;公司,%,num) ,其他的: ,打印(& # 39;错误# 39;) , #,创建文件夹 def mkdir(路径): ,#去除首位空格=,,path  path.strip () ,#去除尾部,\,符号=,,path  path.rstrip (“\ \”) , ,#判断路径是否存在 ,#存在,真的 ,#不存在,假的=,,isExists  os.path.exists(路径) , ,#判断结果 ,if not  isExists: ,os.makedirs(路径) ,print (路径+ & # 39;,创建成功& # 39;) return 真正的 ,其他的: ,print (path +, & # 39;,目录已存在& # 39;) return 假 , , folder =, " # 39; C:/用户/管理员/桌面/testresults # 39;, #,存放图片的文件夹 时间=path os.listdir(文件夹) #,print(路径) , for each_bmp 拷贝路径:#,批量操作 ,first_name、second_name =, os.path.splitext (each_bmp)=,,each_bmp  os.path.join(文件夹,,each_bmp)=,src  each_bmp ,打印(src) ,打印(first_name) ,#定义要创建的目录=,mkpath “C:/用户/管理员/桌面/结果/?,first_name ,#调用函数 ,mkdir (mkpath) ,if os.path.isfile (src): dstpath 才能=mkpath if 才能;(dstpath ==, & # 39; & # 39;),或是os.path.exists (dstpath): row 才能=,int(1), #,切割行数 col 才能=,int(10), #,切割列数 if 才能;row 祝辞,0,以及col 祝辞,0: ,,splitimage (src,,行,,坳,,dstpath) 其他的才能: ,才能打印(& # 39;无效的& # 39;) 其他的才能: 打印才能(& # 39;图片保存目录,% s 不存在! & # 39;,%,dstpath) ,其他的: 打印才能(& # 39;图片文件,% s 不存在! & # 39;,%,src)
<强>三,写在后面强>
这里定义了切割行数和列数:
得到PIL import 形象 , for 小姐:拷贝范围(1100):=,,img  Image.open (“C:/用户/管理员/桌面/test_results“+ str (i) +“.png")=,,img  img.convert (“L")=,,img  img.resize ((960、96)) , ,img.save (“C:/用户/管理员/桌面/test_results“+ str (i) +“.png",,“PNG")
关于“如何使用python实现将文件夹内的每张图片批量分割成多张”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看的到。