目录

前言

环境依赖

代码

总结


前言

本文提供将图片分辨率调整的python代码,一如既往的实用主义。

环境依赖

ffmpeg环境安装,可以参考我的另一篇文章:windows ffmpeg安装部署_阿良的博客-CSDN博客

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.pyimport os
import uuid
from 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.py
ffmpeg -i data/123.jpg -vf scale=1280:720 data/709ad7cc5a8a11ec82c82c4d54eea02b.jpg
ffmpeg version n4.3.1-20-g8a2acdc6da Copyright (c) 2000-2020 the FFmpeg developersbuilt with gcc 9.3-win32 (GCC) 20200320configuration: --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=-lgomplibavutil      56. 51.100 / 56. 51.100libavcodec     58. 91.100 / 58. 91.100libavformat    58. 45.100 / 58. 45.100libavdevice    58. 10.100 / 58. 10.100libavfilter     7. 85.100 /  7. 85.100libswscale      5.  7.100 /  5.  7.100libswresample   3.  7.100 /  3.  7.100libpostproc    55.  7.100 / 55.  7.100
Input #0, image2, from 'data/123.jpg':Duration: 00:00:00.04, start: 0.000000, bitrate: 170762 kb/sStream #0:0: Video: mjpeg (Progressive), yuvj444p(pc, bt470bg/unknown/unknown), 1920x1080, 25 tbr, 25 tbn, 25 tbc
Stream 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 correctly
Output #0, image2, to 'data/709ad7cc5a8a11ec82c82c4d54eea02b.jpg':Metadata:encoder         : Lavf58.45.100Stream #0:0: Video: mjpeg, yuvj444p(pc), 1280x720, q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbcMetadata:encoder         : Lavc58.91.100 mjpegSide data:cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A
frame=    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: unknown
data/709ad7cc5a8a11ec82c82c4d54eea02b.jpg

效果图片:

OK,没什么问题。

总结

没啥好总结的。

分享:

Perhaps one day you muster the courage, to make a clean breast of everything in the heart only ended up to let others see the joke, because they did not understand you to say what, also don't know why do you think things are so important, say, almost cried out. I think the worst thing in the world, than with full of heart and secret, but no one can tell, but no one can understand!

——《肖申克的救赎》

如果本文对你有作用的话,请点个赞吧,谢谢!

Python修改图片分辨率(附代码) | Python工具相关推荐

  1. Python 修改图片分辨率任意数保存图片

    访问百度查看了百度图片地址https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png 查看分辨率为540*258 随便修改为 ...

  2. python 修改图片尺寸_用Python更改图片尺寸大小

    1.PIL包推荐Pillow. 2.源码:#encoding=utf-8 #author: walker #date: 2014-05-15 #function: 更改图片尺寸大小 import os ...

  3. Java修改图片分辨率(附代码) | Java工具类

    目录 前言 环境依赖 代码 总结 前言 本文提供可以修改图片分辨率的java工具类,实用主义的狂欢. 环境依赖 添加必要的一些maven依赖. <dependency><groupI ...

  4. Python实现修改图片分辨率(含完整源码)

    Python实现修改图片分辨率(含完整源码) 在我们日常的工作和学习中,经常需要处理图片.有时候,我们可能需要修改图片的分辨率,以适应不同的需求.本文将介绍如何使用Python来实现修改图片的分辨率, ...

  5. 如何在Python中获取图片分辨率?——Python实现获取图片分辨率的代码及详解。

    如何在Python中获取图片分辨率?--Python实现获取图片分辨率的代码及详解. 在进行图片处理或者图片分析的时候,获取图片的分辨率信息是必不可少的.Python提供了许多库可以方便地获取图片的分 ...

  6. python批量修改图片分辨率

    python批量修改图片分辨率 import cv2 import osif __name__ == '__main__':curDir = os.curdir # 获取当前执行python文件的文件 ...

  7. python图像处理——图片区域颜色替换小工具

    python图像处理--图片区域颜色替换小工具 使用场景 图片区域颜色替换小工具使用python开发,可用于选取图片相同颜色的区域,可设定选择精度,可自由选择颜色,将区域的颜色进行替换.可使用橡皮擦工 ...

  8. python提高图片分辨率_python 获取图片分辨率的方法

    python 获取图片分辨率的方法 pil版: from PIL import Image filename = r'E:\data\yangben\0.jpg' img = Image.open(f ...

  9. Python科学绘图实例附代码

    Python绘图精简实例附代码 作者:金良(golden1314521@gmail.com) csdn博客:http://blog.csdn.net/u012176591 Python绘图精简实例附代 ...

  10. Python修改图片格式以及相对应labelme标注的Json文件

    Python修改图片格式以及相对应labelme标注的Json文件 前言 前提条件 相关介绍 实验环境 Python修改图片格式以及相对应labelme标注的Json文件 代码实现 输出结果 前言 本 ...

最新文章

  1. 谈谈架构的本质和架构分类
  2. Linux内核分析 - 网络[六]:网桥
  3. 阿里云accessKey如何创建?~ 2015.08.25
  4. 【Rollo的Python之路】Scrapy Selector选择器的学习
  5. 【强烈推荐】最好理解的LSTM与GRU教程
  6. python下 help()使用方法
  7. 如何通过apk获得包名及Activiy 名称
  8. 相对于通过木马传播方式获得的C++用户数据
  9. linux source 子shell,Linux------source
  10. textarea 字体限制,超出部分不显示并及时显示还剩字体个数
  11. 【Python数据分析】数据预处理2——数据集成
  12. SSH连接时出现Host key verification failed的原因及解决方法
  13. 设计网际网络的地址标准
  14. Linux学习(4)-文件颜色,绿色,蓝色,白色,红色等代表的意义
  15. NetLimiter(网络限速-对付流氓上传)
  16. 小米手环6解决天气未同步问题
  17. windows文件共享客户端的一些事——samba文件共享
  18. 华中科技大学2021计算机学院,2021年华中科技大学计算机考研科目
  19. Android第三方集成之一键分享ShareSDK的使用eclipse篇 #CSDN博文精选# #IT# #第三方集成# #安卓#
  20. linux的java环境配置,jdk,tomcat,redis,maven,mysql

热门文章

  1. Java base64转inputStream
  2. 强烈推荐这款能探测别人工资的黑科技!秀的我头皮发麻
  3. 建模实训报告总结_建模实习工作总结
  4. EXCEL中输入的数字无法正常显示变成科学计数法
  5. 国内各大高校开源镜像站
  6. 压缩word文档大小的方法?
  7. 关于iOS 12.2以及更高版本安装描述文件
  8. 虚拟项目产品如何操作赚钱
  9. 卡片层叠Banner
  10. android照片同步到另一部手机,换手机后怎么把照片转移到新手机上?