Python怎么实现修改图片分辨率
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,小编给大家分享一下Python怎么实现修改图片分辨率,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!环境依赖ffmpeg环境安装,可以参考:windows ffmpeg安装部署ffmp
千家信息网最后更新 2026年11月03日Python怎么实现修改图片分辨率
小编给大家分享一下Python怎么实现修改图片分辨率,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
环境依赖
ffmpeg环境安装,可以参考:windows ffmpeg安装部署
ffmpy安装:
pip install ffmpy -i https://pypi.douban.com/simple
代码
不废话,上代码。
#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2021/12/11 21:43# @Author : 剑客阿良_ALiang# @Site :# @File : image_tool.py import osimport uuidfrom ffmpy import FFmpeg # 调整图片大小def change_size(image_path: str, output_dir: str, width: int, height: int): ext = os.path.basename(image_path).strip().split('.')[-1] if ext not in ['png', 'jpg']: raise Exception('format error') _result_path = os.path.join( output_dir, '{}.{}'.format( uuid.uuid1().hex, ext)) ff = FFmpeg(inputs={'{}'.format(image_path): None}, outputs={ _result_path: '-vf scale={}:{}'.format(width, height)}) print(ff.cmd) ff.run() return _result_path代码说明:
1、change_size方法入参分别为:图片地址、输出目录地址、需要修改的宽、需要修改的高。
2、验证的图片格式只有png、jpg,如需添加自行添加。
3、为了避免输出文件文件名重复,使用uuid作为文件名。
验证一下
准备的图片如下:


执行代码:
if __name__ == '__main__': print(change_size('data/1234.jpg', 'data/', 1280, 720))执行结果:
E:\ProgramData\Anaconda3\envs\pytorch\python.exe C:/Users/yi/PycharmProjects/test/image_tool.pyffmpeg -i data/123.jpg -vf scale=1280:720 data/709ad7cc5a8a11ec82c82c4d54eea02b.jpgffmpeg version n4.3.1-20-g8a2acdc6da Copyright (c) 2000-2020 the FFmpeg developers built with gcc 9.3-win32 (GCC) 20200320 configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --enable-iconv --enable-zlib --enable-libxml2 --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvmaf --disable-vulkan --enable-libvorbis --enable-amf --enable-libaom --enable-avisynth --enable-libdav1d --enable-ffnvcodec --enable-cuda-llvm --disable-libglslang --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvpx --enable-libwebp --enable-libmfx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librav1e --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libtwolame --enable-libvidstab --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-libs=-lgomp libavutil 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.100Input #0, image2, from 'data/123.jpg': Duration: 00:00:00.04, start: 0.000000, bitrate: 170762 kb/s Stream #0:0: Video: mjpeg (Progressive), yuvj444p(pc, bt470bg/unknown/unknown), 1920x1080, 25 tbr, 25 tbn, 25 tbcStream mapping: Stream #0:0 -> #0:0 (mjpeg (native) -> mjpeg (native))Press [q] to stop, [?] for help[swscaler @ 000001d3c41b6c00] deprecated pixel format used, make sure you did set range correctlyOutput #0, image2, to 'data/709ad7cc5a8a11ec82c82c4d54eea02b.jpg': Metadata: encoder : Lavf58.45.100 Stream #0:0: Video: mjpeg, yuvj444p(pc), 1280x720, q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc Metadata: encoder : Lavc58.91.100 mjpeg Side data: cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/Aframe= 1 fps=0.0 q=7.8 Lsize=N/A time=00:00:00.04 bitrate=N/A speed=0.28x video:106kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknowndata/709ad7cc5a8a11ec82c82c4d54eea02b.jpg
效果图片:
看完了这篇文章,相信你对"Python怎么实现修改图片分辨率"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!
图片
代码
文件
分辨率
地址
文件名
环境
篇文章
输出
验证
上代
剑客
只有
大小
完了
废话
效果
方法
更多
格式
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
手磨咖啡
互联网黑科技
互联网加科技
北京互联网科技
平安科技 互联网
中国互联网科技发展
互联网科技美容
山东吉时兔互联网科技有限公司
蓝色互联网科技
广州优美互联网科技
科技互联网大厂
玉溪互联网科技怎么选
搜狐科技互联网
亳州好赞互联网科技有限公司
2021互联网科技公司排名
云南省自由互联网科技有限公司
半导体是互联网高科技吗
上海乐五互联网科技有限公司
伍佰万互联网科技是干嘛的
株洲百竞科技的互联网营销顾问
百单网互联网科技有限公司
互联网科技财经
华宇互联网科技
科技互联网公司logo
中化能源互联网科技招聘
互联网科技与管理
广西互联网科技孵化中心
内蒙古九一互联网科技
科技互联网海报
广州燕处互联网科技有限公司