利用python实现图片裁剪
一、 安装PIL库如果此前没有安装过PIL库,在python3环境下,命令行输入 pip install pillow 即可安装完成from PIL import Imageimg = Image.open('chess.png') ## 打开chess.png文件,并赋值给img
region = img.crop((0,0,50,50))## 0,0表示要裁剪的位置的左上角坐标,50,50表示右下角。
region.save('举例.png') ## 将裁剪下来的图片保存到 举例.png
二、ffmpy安装pip install ffmpy -i https://pypi.douban.com/simpleimport os
import uuid
from ffmpy import FFmpeg
# 图片裁剪
def cut_out_pic(image_path: str, output_dir: str, start_pix: tuple, size: tuple):
ext = os.path.basename(image_path).strip().split('.')[-1]
if ext not in ['png', 'jpg']:
raise Exception('format error')
result = os.path.join(output_dir, '{}.{}'.format(uuid.uuid1().hex, ext))
ff = FFmpeg(inputs={image_path: None},
outputs={result: '-vf crop={}:{}:{}:{} -y'.format(size, size, start_pix, start_pix)})
print(ff.cmd)
ff.run()
return result
if __name__ == '__main__':
cut_out_pic(r'C:\Users\huyi\Desktop\231.jpg', r'C:\Users\huyi\Desktop', (1000, 1000), (1000, 1000))
代码说明:1、cut_out_pic方法参数分别为,图片地址、输出目录地址、起始像素点位置、需要裁剪的宽高。2、做了简单的图片格式校验,如需添加,可以自己看着来。3、最终图片名使用uuid避免重复。4、截取的图片宽高不能超过图片大小。 _screenImage = ImageGrab.grab()
_screenImage.save("temp.png", format='PNG')
_screenImage.crop(
(x1, y1, x2, y2))
也可以裁剪。
感觉python重复功能的库太多了。{:301_997:} 感谢楼主的分享!又多了一个小工具!
感谢楼主的分享! 感谢楼主分享,学习一下
页:
[1]