-
2019-11-03 14:39:44
1、使用Python修改图片的分辨率用到的库为Image,cv2
代码如下import cv2 from PIL import Image as ImagePIL from PIL import Image im = ImagePIL.open('1.jpg') print(im) print(type(im)) im = cv2.imread('1.jpg') image = Image.fromarray(cv2.cvtColor(im,cv2.COLOR_BGR2RGB)) image.save('11.jpg',quality=95,dpi=(100.0,100.0)) #调整图像的分辨率
2、使用Python批量修改图片的分辨率
import os from PIL import Image import glob img_path = glob.glob("D:/get_image/*.jpg") path_save = "D:/get_image/" for file in img_path: name = os.path.join(path_save, file) im = Image.open(file) im.thumbnail((500,500)) print(im.format, im.size, im.mode) im.save(name,'JPEG')
更多相关内容 -
Python修改图片分辨率(附代码) | Python工具
2021-12-11 22:08:19本文提供将图片分辨率调整的python代码,一如既往的实用主义。目录
前言
本文提供将图片分辨率调整的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.py import 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 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.100 Input #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 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.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/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批量修改图片分辨率的实例代码
2020-09-19 03:49:40今天小编就为大家分享一篇Python批量修改图片分辨率的实例代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 -
Python修改图片分辨率来改变图片大小
2018-07-16 00:23:18在一些网上报名的时候,经常会遇到上传1寸图片,但是图片大小往往有限制,于是想用Python来实现让图片符合大小。 关于Pillow与PIL 可参考:https://blog.csdn.net/dcz1994/article/details/71642979 提供一个...在一些网上报名的时候,经常会遇到上传1寸图片,但是图片大小往往有限制,于是想用Python来实现让图片符合大小。
关于Pillow与PIL 可参考:https://blog.csdn.net/dcz1994/article/details/71642979
提供一个Pillow快速下载的链接:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pillow
# coding=utf-8 from PIL import Image import glob,os #处理图片大小信息为kb def get_FileSize(picture): f1 = os.path.getsize(picture) f2 = f1/float(1024) return f2 #按比例减小分辨率 def small(SIZE): SIZE *= 0.99 return SIZE a=float(input("图片大小限制kb:")) #处理过程 for infile in glob.glob('*.jpg'): file,ext = os.path.splitext(infile) im = Image.open(infile) #获取图片像素 b = get_FileSize(infile) size = im.size size1,size2 =size #循环至达到要求 while b>a: size1,size2 = small(size1),small(size2) size = size1,size2 im.thumbnail(size,Image.ANTIALIAS) im.save(file+'add.jpg','jpeg') b=get_FileSize(file+'add.jpg')
-
Python 修改图片分辨率任意数保存图片
2020-06-30 17:30:10查看分辨率为540*258 随便修改为750*500 直接上代码 import urllib.request from PIL import Image # 爬取百度图片 imgdata = urllib.request.urlopen('https://www.baidu.com/img/PCtm_d9c8750bed0b3c访问百度查看了百度图片地址https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png
查看分辨率为540*258
随便修改为750*500
直接上代码
import urllib.request from PIL import Image # 爬取百度图片 imgdata = urllib.request.urlopen('https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png').read() # 保存本地路径 path = r'E:\MK\ceshi\baidu.png' with open(path, 'wb') as f: f.write(imgdata) # 打开图片封装对象 im = Image.open(path) # 修改分辨率随意设置 resized_image = im.resize((750, 500), Image.ANTIALIAS) path_test = r'E:\MK\ceshi\baidu750.png' # 保存本地 resized_image.save(path_test) 需要安装的库PIL pip安装 pip install pillow
-
python改变图片的分辨率
2020-05-23 18:31:50这里使用Python代码做一个简单的功能,基于PIL库改变图片的分辨率。代码也不多,这里就不多做介绍了 代码实现 from PIL import Image def ResizeImage(filein, fileout, scale=1): """ 改变图片大小 :param ... -
Python之修改图片像素值的方法
2020-09-19 04:10:12今天小编就为大家分享一篇Python之修改图片像素值的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 -
python改变图片的分辨率(宽、高)
2021-12-01 19:27:05对单个图片进行操作 from PIL import Image def image_processing(): # 待处理图片路径 img_path = Image.open('./images/1.png') # resize图片大小,入口参数为一个tuple,新的图片的大小 img_size = img_... -
Python批量更改图片分辨率
2020-12-03 00:48:42Python批量更改图片分辨率# -*- coding: utf-8 -*-import Imageimport glob, os#图片批处理def timage():for files in glob.glob('~/pic/*.JPG'):filepath,filename = os.path.split(files)filterame,exts = os.path... -
python修改分辨率和图片像素
2021-10-27 17:19:29每次就该图片像素大小都要通过ps修改比较麻烦 1. 先用win10自带的图片编辑器裁剪图片形状 2. 等比例缩放 ...# 修改分辨率 im =cv2.imread(inputImg) print("像素大小:",im.shape) # image = Image.from -
Python-修改图片分辨率
2020-11-16 23:07:26Python-修改图片分辨率 在图像识别的时候出现了手机拍摄的照片作为测试数据太大的情况,创建了这样一个代码来修改一下拍摄的图片的分辨率。 from PIL import Image def produceImage(file_in, width, height, file... -
Python 批量修改图片分辨率
2021-02-15 16:55:48# 图片路径 # 使用 glob模块 获得文件夹内所有jpg图像 img_path = glob("./*.jpg") #存储(输出)路径 path_save = "./result" for i,file in enumerate(img_path): name = os.path.join(path_save, "%d.jpg"%i)... -
python opencv批量修改图片分辨率
2019-10-17 19:53:29python opencv批量修改图片分辨率 跑了一个模型,好像因为图片分辨率太高内存不够跑不了,修改了下果然能跑了! import cv2 import os if __name__ == '__main__': curDir = os.curdir # 获取当前执行python文件... -
python 修改图像的分辨率
2019-01-14 09:54:25使用 PIL 模块修改图像分辨率 import cv2 from PIL import Image as ImagePIL, ImageFont, ImageDraw from PIL import Image im = ImagePIL.open('qq.jpg') #读取图片bgr 格式<class 'PIL.... -
图片分辨率和大小调整处理程序.py
2020-08-17 15:14:25利用python写的一个图片处理程序,可以对图片的分辨率进行需要调整,还可以对图片的大小进行增大,不改变图片的质量。 -
Python批量修改图片分辨率
2018-01-28 15:46:09前言:处理图片需要,需把图片都转换成1920*1280的大小, python实现很方便,需要导入图片处理的Image包和匹配的glob包,很简单,代码如下: img_path = glob.glob("D:/chosed/*.jpg") path_save = "D:/closedd" ... -
python批量修改图片的分辨率dpi值
2021-08-31 16:23:48很多论文和期刊,对文中插入图片的格式、色彩、图片大小、分辨率(dpi值)都有要求,针对图片分辨率,一般不得低于300dpi。为了满足要求,作者使用python语言完成图片dpi值批量修改,简洁实用。 提示:以下是本篇... -
python批量修改图片分辨率完整程序
2019-05-14 18:02:37/usr/bin/env python3 # _*_ coding: utf-8 _*_ # File : autofenbianlv.py # Author: DaShenHan&道长-----先苦后甜,任凭晚风拂柳颜------ # Date : 2019/5/14 from glob import glob from PIL import Image ... -
[Python]改变图片的分辨率大小
2017-08-01 13:27:09第 0005 题:你有一个目录,装了很多照片,把它们的尺寸变成都...2.对于图片大小的处理,当大小超过iphone5的分辨率,进行等比例缩放。代码如下:#coding=utf-8 import os #打开文件时需要 from PIL import Image impor -
python opencv 批量改变图片的尺寸大小的方法
2021-01-21 18:02:17我目标文件夹下有一大批图片,我要把它转变为指定尺寸大小的图片,用pthon和opencv实现的。 以上为原图片。 import cv2 import os # 按指定图像大小调整尺寸 def resize_image(image, height = 640, width = 480):... -
python opencv设置分辨率
2021-04-30 10:36:51if cv2.waitKey(1) & 0xFF == ord('q'): break # Release handle to the webcam webcam.release() cv2.destroyAllWindows() 以下方法可以用来改变窗口的显示大小,但是不等于摄像头的分辨率。(不相信的伙伴可以... -
利用python更改图片格式和分辨率
2020-09-03 10:39:31手头有许多图片,需要对图片进行一下预处理,包括统一格式为jpg,还有统一一下分辨率。这里采用python 来进行处理。 1.统一格式 手头的图片格式有PNG和JPG的,这里统一为JPG格式的。 先贴上代码再做说明: import os ... -
使用PIL调整图片分辨率
2021-01-15 03:01:54需求:因项目需求中有对照片分辨率的具体要求,需要进行已有照片的批量分辨率处理。已有照片统一为1024*768分辨率,要求处理成320*240 / 240*200两种分辨率形式。难点:对方要求中的240*200分辨率大小与我们已有照片... -
python 修改照片分辨率
2019-06-12 18:59:41# print( "图片名称为"+pic+"图片被修改") # count=count+1 # out = im.resize((w_new,h_new),Image.ANTIALIAS) # # #print new_pic # # out.save("C:\\Users\\57296\\Desktop\\openpose-master\\examples\\... -
python图片简易像素修改
2017-12-01 19:25:36首先,我们需要的工具有scipy, numpy, Image, matplotlib.pyplot。具体安装方式为pip install numpy ...pip install Image进行图片处理时我们需要,导入python lib,如下from PIL import Image import numpy as np -
Python+PIL.Image改变图片的分辨率
2021-05-01 12:55:01文章目录前言一、代码二、结果展示总结 前言 将任意分辨率的图像修改为... 改变图片分辨率 :param file_in: 输入图片 :param file_out: 输出图片 :param w: 输出图片宽 :param h: 输出图片高 """ img = Image. -
python+opencv 批量修改视频分辨率
2022-04-12 17:52:40用Python和opencv批量改变视频分辨率。 -
基于python实现图片批量修改分辨率
2019-08-01 00:56:35#提取目录下所有图片,更改尺寸后保存到另一目录 from PIL import Image import os.path import glob def convertjpg(jpgfile,outdir,width=128,height=128): img=Image.open(jpgfile) try: new_img=img.resize(... -
python 设置输出图像的像素大小方法
2020-09-19 04:14:59今天小编就为大家分享一篇python 设置输出图像的像素大小方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 -
用python写一个批量修改图片名及分辨率的代码
2021-12-26 13:57:46用python写几行代码,轻松实现修改图片名称及分辨率 首选看原来的文件夹下的图片文件,名字是比较混乱的 如果想实现把图片名字批量修改,应该怎么做呢 import os from PIL import Image import glob img_path ...