使用python对galgame提取的CG进行裁剪

使用python对galgame提取的CG进行裁剪

galgame、二次元游戏提取出来的cg有些是720p的不知道什么原因作者使用的是1080p导致提取出来的图片都在左上角,png图右下全是空白的,该方法利用Python 图像处理 PIL来裁剪图片成720p

import os

from PIL import Image

address = 'F:\xxx\素材' #提取出来CG所存放的文件夹

for filepath,dirnames,filenames in os.walk(address):

for filename in filenames:

img = Image.open(os.path.join(filepath, filename))

cropped = img.crop((0, 0, 1280, 720))

address_save = filepath + '/cropped/' +filename

if not os.path.isdir(filepath + '/cropped'):

os.makedirs(filepath + '/cropped')

cropped.save(address_save)

img.close()

else:

cropped.save(address_save)

img.close()

address = 'F:\xxx\素材' #提取出来CG所存放的文件夹

for filepath,dirnames,filenames in os.walk(address):

os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下。

os.walk() 方法是一个简单易用的文件、目录遍历器,可以帮助我们高效的处理文件、目录方面的事情。

filepath 表示当前正在访问的文件夹路径

dirnames 表示该文件夹下的子目录名list

filenames 表示该文件夹下的文件list

for filename in filenames:

img = Image.open(os.path.join(filepath, filename))

cropped = img.crop((0, 0, 1280, 720))

address_save = filepath + '/cropped/' +filename

for filename in filenames:

filenames 序列,用for循环遍历序列

os.path.join 用于拼接文件路径

Image.open 打开图片

img.crop(x0, y0, x1, y1) x代表横坐标,y代表纵坐标。左上角坐标是(0,0)右下角坐标(1280,720)

address_save = filepath + '/cropped/' +filename 裁剪后文件保存地址

if not os.path.isdir(filepath + '/cropped'):

os.makedirs(filepath + '/cropped')

cropped.save(address_save)

img.close()

else:

cropped.save(address_save)

img.close()

上面的代码用来判断保存路径是否存在的,不存在则创建,存在则保存

cropped.save(address_save) 保存图片

相关阅读

纯棉袜子十大牌子,纯棉袜子哪个品牌好
365游戏厅网页登录

纯棉袜子十大牌子,纯棉袜子哪个品牌好

🕒 08-04 👁️‍🗨️ 4998
进的意思解释
bet3365游戏

进的意思解释

🕒 10-07 👁️‍🗨️ 8439
PNG 壓縮器
bet3365游戏

PNG 壓縮器

🕒 09-22 👁️‍🗨️ 5221
墓的组词、含义
bet3365游戏

墓的组词、含义

🕒 08-20 👁️‍🗨️ 5290
疫区的意思
365游戏厅网页登录

疫区的意思

🕒 07-05 👁️‍🗨️ 486
人们可以用你的IP地址做什么?
365bet比分直播

人们可以用你的IP地址做什么?

🕒 10-13 👁️‍🗨️ 3091
爱科技 AKG K323XS 入耳式耳机 图集
365bet比分直播

爱科技 AKG K323XS 入耳式耳机 图集

🕒 10-01 👁️‍🗨️ 1645
单场直播破5亿,从演员转型主播的贾乃亮,凭什么总能破纪录?
365游戏厅网页登录

单场直播破5亿,从演员转型主播的贾乃亮,凭什么总能破纪录?

🕒 06-27 👁️‍🗨️ 4118
小金豆划算嗎?一顆多少錢?買小金豆存錢怎麼做一次看!