一个自动裁剪图片的程序,如何用python批量处理图片
这篇文章主要给大家介绍了利用计算机编程语言实现的图片裁剪小工具,可以实现将图片按照自定义尺寸进行裁剪,感兴趣的小伙伴可以动手自己试一试
目录
前言环境依赖代码验证一下
前言
本文提供将图片按照自定义尺寸进行裁剪的工具方法,一如既往的实用主义。
环境依赖
工具环境安装,可以参考:在Windows操作系统操作系统上安装FFmpeg程序的图文方法
本文主要使用到的不是ffmpeg,而是ffprobe也在上面这篇文章中的活力包中。
ffmpy安装:
点安装https://pypi.douban.com/simple自由党
代码
不废话了,上代码。
#!/user/bin/env python
#编码=utf-8
@项目: csdn
@作者:剑客阿良_阿良
@file : cut_out_pic_tool.py
@ide : PyCharm
@时间: 2022-01-20 10:38:53
导入操作系统
导入全局唯一识别
从ffmpy导入FFmpeg
# 图片裁剪
def cut _ out _ pic(image _ path : str,output_dir: str,start_pix: tuple,size: tuple):
ext=OS。路径。基本名称(图像路径).剥离()。拆分(.)[-1]
如果扩展名不在[png , jpg]:中
引发异常("格式错误")
result=os.path.join(output_dir, {}).{}.格式(uuid.uuid1().十六进制,分机))
ff=FFmpeg(输入={ image _ path : None },
outputs={ result : -VF crop={ } : { } : { }-y .格式(大小[0],大小[1],start_pix[0],start _ pix[1])})
打印(ff.cmd)
ff.run()
回送结果
if __name__==__main__:
cut _ out _ pic(r c : \ Users \胡艺\桌面\231.jpg ,r c : \ Users \胡艺\桌面,(1000,1000),(1000,1000))
代码说明
1、裁剪图片方法参数分别为,图片地址、输出目录地址、起始像素点位置、需要裁剪的宽高。
2、做了简单的图片格式校验,如需添加,可以自己看着来。
3、最终图片名使用全局唯一识别避免重复。
4、截取的图片宽高不能超过图片大小。
验证一下
准备的图片
执行结果
用户\胡艺。conda \ envs \ python 36 \ python。exe c : \ Program Files \ JetBrains \ py charm 2020。1 .3 \ plugins \ python \ helpers \ pydev \ pydev控制台。py -mode=客户端端口=3635
导入系统;print( Python % s on % s %(sys .版本,系统平台))
sys。路径。扩展([ d : \ spyder \ csdn , D:/spyder/csdn])
PyDev控制台:正在启动。
Python 3.6.13 Anaconda,Inc.(默认,2021年3月16日,11:37:27) [MSC v.1916 64位(AMD64)]在win32上
运行文件( d :/spyder/csdn/cut _ out _ pic _ tool。py ,wdir=D:/spyder/csdn )
ffmpeg-I c : \用户\胡艺\桌面\ 231 .jpg-VF crop=10003:1000:1000-y c : \ Users \胡艺\桌面\ 6 e 81 CB 7a 79 CB 11 EC 96d 7 e 454 e 8 BF 1461。使用jpeg文件交换格式存储的编码图像文件扩展名
工具版本n4.3.1-20-g8a2acdc6da版权所有2000-2020年FFmpeg开发者
使用gcc 9.3-win32 (GCC) 20200320构建
配置:-prefix=/ff build/prefix-pkg-config-flags=-STATIC-pkg-config=pkg-config-cross-prefix=x86 _ 64-w64-Ming W32-arch=x86 _ 64-target-OS=Ming W32-enable-GPL-enable-enable-version 3-disable-debug-enable-iconv-enable-zlib-enable-libxml 2-enable-libfribidi-enable-GMP-enable-lzma-enable-enable-enable-font config
利巴武提56。51.100/56.51.100
libavcodec 58 .91.100/58.91.100
libavformat 58 .45.100/58.45.100
libavdevice 58 .10.100/58.10.100
libavfilter 7 .85.100/7.85.100
libswscale 5 .7.100/5.7.100
libswresample 3 .7.100/3.7.100
libpostproc 55 .7.100/55.7.100
输入#0,图像2,来自C: \用户\胡艺\桌面\231.jpg:
持续时间: 00:00:00.04,开始时间: 0.000000,比特率: 181614 kb/秒
流# 0:0:视频: mjpeg(渐进式)、yuvj444p(pc、Bt 470 BG/未知/未知)、2560x1440、25 tbr、25 tbn、25 tbc
流映射:
流#0:0 - #0:0 (mjpeg(原生)- mjpeg(原生))
按[问]停止,[?]寻求帮助
输出#0,图像2,到C: \用户\胡艺\桌面\ 6 e 81 CB 79 CB 11 EC 96d 7 e 454 E8 BF 1461。jpg :
元数据:
编码器:拉夫58.45.100
流#0:0:视频: mjpeg,yuvj444p(pc),1000x1000,q=2-31200 kb/s,25 fps,25 tbn,25 tbc
元数据:
编码器:
侧面数据:
cpb:最大/最小比特率/avg: 0/0/200000缓冲区大小: 0 vbv_delay:不适用
帧=1 fps=0.0 q=6.7 Lsize=N/A时间=00:00:00.04比特率=不适用速度=0.262x
视频:65kB音频:0kB字幕:0kB其他流:0kB全球头:0kB复用开销:未知
结果图片
以上就是计算机编程语言实现图片自定义裁剪小工具的详细内容,更多关于计算机编程语言图片裁剪的资料请关注盛行信息技术软件开发工作室其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。