精华内容
下载资源
问答
  • Python图片压缩

    千次阅读 2019-05-19 21:03:53
    Python图片压缩 原图片: 压缩后: 压缩后效果图: 使用方法: 在桌面文件夹新建名为“img”文件夹,将要压缩的图片放在里面即可,记得改变一下DIR路径。 第三方库:PIL glob 可自行选择分辨率 正常实现5M/JPG –...

    Python图片压缩

    原图片:

    压缩后:

    压缩后效果图:

    使用方法:

    在桌面文件夹新建名为“img”文件夹,将要压缩的图片放在里面即可,记得改变一下DIR路径。

    第三方库:PIL glob

    可自行选择分辨率

    正常实现5M/JPG – 100Kb/JPG

    如果没有安装该库请执行 pip install pillow 以及glob 进行安装第三方库
    # -*- coding: utf-8 -*-
    """
    __author__= 'Rp'
    __creation_time__= '2018/11/11 10:06'
    """
    
    import os
    from PIL import Image
    import glob
    
    DIR = r'c:\Users\Lenovo\Desktop\img/'
    
    
    class Compress_Picture(object):
        def __init__(self):
            # 图片格式,可以换成.bpm等
                self.file = '.JPG'
    
            # 图片压缩批处理
    
        def compressImage(self):
    
            for filename in glob.glob('%s%s%s' % (DIR, '*', self.file)):
                # print(filename)
                # 打开原图片压缩
                sImg = Image.open(filename)
                w, h = sImg.size
                print(w, h)
                dImg = sImg.resize((1280, 1080), Image.ANTIALIAS)  # 设置压缩尺寸和选项,注意尺寸要用括号
                # 小米6: 1008 * 754
                # 320*240  640*480 800*600 1024*768 1152*864 1280*960 1400*1050 1600*1200 2048*1536
                # 如果不存在目的目录则创建一个
                comdic = "%scompress/" % DIR
                if not os.path.exists(comdic):
                    os.makedirs(comdic)
    
                    # 压缩图片路径名称
                f1 = filename.split('/')
                f1 = f1[-1].split('\\')
                f2 = f1[-1].split('.')
                f2 = '%s%s1%s' % (comdic, f2[0], self.file)
                # print(f2)
                dImg.save(f2)  # save这个函数后面可以加压缩编码选项JPEG之类的
                print("%s compressed succeeded" % f1[-1])
    
    
    if __name__ == "__main__":
    
        obj = Compress_Picture()
    
        obj.compressImage()
    
    展开全文
  • Python实现图片压缩.py

    2020-08-07 16:34:26
    项目中大量用到图片加载,由于图片太大,加载速度很慢,因此需要对文件进行统一压缩。 具体说明见下述链接: https://blog.csdn.net/weixin_43964993/article/details/107865140
  • Python图片压缩脚本

    2021-07-26 15:50:45
    Python图片压缩脚本 1.支持tinify压缩,每月500张 2.支持按比例压缩 3.支持按大小压缩
  • 主要介绍了python SVD压缩图像的实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 主要介绍了python实现图片压缩代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 主要介绍了Python无损压缩图片的方法,简单的代码即可实现压缩图片,感兴趣的朋友可以了解下
  • 利用Pillow来进行图片压缩 代码如下: from PIL import Image import os from time import strftime, localtime # 打印当前时间 def printTime(): print(strftime("%Y-%m-%d %H:%M:%S", localtime())) return ...

    利用Pillow来进行图片压缩
    代码如下:

    from PIL import Image
    import os
    
    from time import strftime, localtime
    
    # 打印当前时间
    def printTime():
        print(strftime("%Y-%m-%d %H:%M:%S", localtime()))
        return
    
    def get_size(file):
        # 获取文件大小:KB
        size = os.path.getsize(file)
        return size / 1024
    
    
    def get_outfile(infile, outfile):
        if outfile:
            return outfile
        dir, suffix = os.path.splitext(infile)
        outfile = '{}-out{}'.format(dir, suffix)
        return outfile
    
    
    def compress_image(infile, outfile='', mb=150, step=10, quality=80):
        """不改变图片尺寸压缩到指定大小
        :param infile: 压缩源文件
        :param outfile: 压缩文件保存地址
        :param mb: 压缩目标,KB
        :param step: 每次调整的压缩比率
        :param quality: 初始压缩比率
        :return: 压缩文件地址,压缩文件大小
        """
        o_size = get_size(infile)
        if o_size <= mb:
            return infile
        outfile = get_outfile(infile, outfile)
        while o_size > mb:
            im = Image.open(infile)
            im.save(outfile, quality=quality)
            if quality - step < 0:
                break
            quality -= step
            o_size = get_size(outfile)
        return outfile, get_size(outfile)
    
    
    if __name__ == '__main__':
        compress_image(r"/Users/training01/Desktop/pic/ffs.png")
    
    展开全文
  • Python实现图片压缩

    2020-10-27 16:18:12
    项目中大量用到图片加载,由于图片太大,加载速度很慢,因此需要对文件进行统一压缩 一:导入包 from PIL import Image import os 二:获取图片文件的大小 def get_size(file): # 获取文件大小:KB size = os.path...

    项目中大量用到图片加载,由于图片太大,加载速度很慢,因此需要对文件进行统一压缩

    一:导入包

    from PIL import Image
    import os
    

    二:获取图片文件的大小

    def get_size(file):
        # 获取文件大小:KB
        size = os.path.getsize(file)
        return size / 1024
    

    三:拼接输出文件地址

    '''
    遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
    寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
    '''
    def get_outfile(infile, outfile):
        if outfile:
            return outfile
        dir, suffix = os.path.splitext(infile)
        outfile = '{}-out{}'.format(dir, suffix)
        return outfile
    

    四:压缩文件到指定大小,我期望的是150KB,step和quality可以修改到最合适的数值

    def compress_image(infile, outfile='', mb=150, step=10, quality=80):
        """不改变图片尺寸压缩到指定大小
        :param infile: 压缩源文件
        :param outfile: 压缩文件保存地址
        :param mb: 压缩目标,KB
        :param step: 每次调整的压缩比率
        :param quality: 初始压缩比率
        :return: 压缩文件地址,压缩文件大小
        """
        o_size = get_size(infile)
        if o_size <= mb:
            return infile
        outfile = get_outfile(infile, outfile)
        while o_size > mb:
            im = Image.open(infile)
            im.save(outfile, quality=quality)
            if quality - step < 0:
                break
            quality -= step
            o_size = get_size(outfile)
        return outfile, get_size(outfile)
    

    五:修改图片尺寸,如果同时有修改尺寸和大小的需要,可以先修改尺寸,再压缩大小

    '''
    遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
    寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
    '''
    def resize_image(infile, outfile='', x_s=1376):
        """修改图片尺寸
        :param infile: 图片源文件
        :param outfile: 重设尺寸文件保存地址
        :param x_s: 设置的宽度
        :return:
        """
        im = Image.open(infile)
        x, y = im.size
        y_s = int(y * x_s / x)
        out = im.resize((x_s, y_s), Image.ANTIALIAS)
        outfile = get_outfile(infile, outfile)
        out.save(outfile)
    
    
    if __name__ == '__main__':
        compress_image(r'D:\learn\space.jpg')
        resize_image(r'D:\learn\space.jpg')
    
    展开全文
  • 主要介绍了python 无损批量压缩图片的示例,帮助大家更好的利用python处理图片,感兴趣的朋友可以了解下
  • python实现图片压缩的方法:1、导入Image包;2、使用get_size(file)命令获取图片文件的大小;3、使用【os.path.splitext()】方式拼接文件地址;然后压缩文件到指定大小;4、修改图片尺寸即可。一、导入包...

    python实现图片压缩的方法:1、导入Image包;2、使用get_size(file)命令获取图片文件的大小;3、使用【os.path.splitext()】方式拼接文件地址;然后压缩文件到指定大小;4、修改图片尺寸即可。

    一、导入包from PIL import Image

    import os

    二、获取图片文件的大小def get_size(file):

    # 获取文件大小:KB

    size = os.path.getsize(file)

    return size / 1024

    三、拼接输出文件地址def get_outfile(infile, outfile):

    if outfile:

    return outfile

    dir, suffix = os.path.splitext(infile)outfile = '{}-out{}'.format(dir, suffix)

    return outfile

    四、压缩文件到指定大小def compress_image(infile, outfile='', mb=150, step=10, quality=80):

    """不改变图片尺寸压缩到指定大小

    :param infile: 压缩源文件

    :param outfile: 压缩文件保存地址

    :param mb: 压缩目标,KB

    :param step: 每次调整的压缩比率

    :param quality: 初始压缩比率

    :return: 压缩文件地址,压缩文件大小

    """

    o_size = get_size(infile)

    if o_size <= mb:

    return infile

    outfile = get_outfile(infile, outfile)

    while o_size > mb:

    im = Image.open(infile)

    im.save(outfile, quality=quality)

    if quality - step 

    break

    quality -= step

    o_size = get_size(outfile)

    return outfile, get_size(outfile)

    五、修改图片尺寸def resize_image(infile, outfile='', x_s=1376):

    """修改图片尺寸

    :param infile: 图片源文件

    :param outfile: 重设尺寸文件保存地址

    :param x_s: 设置的宽度

    :return:

    """

    im = Image.open(infile)

    x, y = im.size

    y_s = int(y * x_s / x)

    out = im.resize((x_s, y_s), Image.ANTIALIAS)

    outfile = get_outfile(infile, outfile)

    out.save(outfile)

    if __name__ == '__main__':

    compress_image(r'D:\learn\space.jpg')

    resize_image(r'D:\learn\space.jpg')

    展开全文
  • 原标题:Python 实现图片大小压缩起因截图组件配合验证码使用优化建议既然没人帮忙解决只能自己动手了小白先直接献上代码from PIL import Imageimport osdef compress_image(infile, outfile=’’, mb=150, step=10,...
  • python图片压缩与打包

    2018-10-26 11:21:17
    等比例压缩图片图片的宽或高有一条超过标准长度(宽800,高600)时,对图片进行等比例压缩,然后将压缩后的图片保存在本地。 from PIL import Image def myOrigin(filename, standard_width=800, standard_...
  • python Png图片压缩工具

    千次阅读 2018-10-13 16:53:45
    引言 最近在做 H5 小游戏的开发,与 App 不同,由于 H5 所有的资源都是通过 CDN 获取的,考虑到网络资源加载速度的...但考虑压缩资源还需要启动一个应用,将图片资源拖进去再开始压缩,显然不够智能,希望通过 p...
  • 图片大小压缩是偶尔需要用上的工具,对于不懂的人来说很有可能需要付费才能达到想要的图片大小,今天就用python来写个简单的工具来实现图片压缩吧 import os from PIL import Image def get_size(file): # 获取...
  • python 图片压缩存储

    2015-07-15 11:13:00
    python(PIL)图像处理(等比例压缩、裁剪压缩) 缩略(水印)图 http://outofmemory.cn/code-snippet/12264/python-PIL-image-process-kind-pack--pack--scheme 转载于:https://www.cnblogs.com/carlo/p/4647763.html...
  • python 实现图片像素大小设置,可以实现图像的任意大小输出。
  • 本工具是通过将图片上传到第三方网站tinypng,进行压缩后下载,覆盖本地图片,tinypng是一个强大的图片处理网站,目前最可靠的无损压缩网站。 代码如下: import requests from idna import unicode from selenium ...
  • """压缩图片尺寸直到某一尺寸 :param imagefile: 原图路径 :param targetfile: 保存图片路径 :param targetsize: 目标大小,单位byte """ currentsize = os.path.getsize(imagefile) for quality in range...
  • def save(self, dst, buffer_size=16384):"""Save the file to a destination path or file object. If thedestination is a file object you have to close it yourself after thecall. The buffer size is the n.....
  • Lossy Image Compression with Compressive Autoencoders
  • 说到png图片压缩,可能很多人知道TinyPNG这个网站。但PS插件要钱(虽然有破解的),Developer API要连到他服务器去,不提网络传输速度,Key也是有每月限制的。    但是貌似tinyPNG是使用了来自于 pngquant 的技术...
  • 近来几日研究python,为了熟练python语法,方便生活,练习了一个图片压缩功能,用TK做成了可视化,大佬们都说要养成记录和博客的习惯,于是乎我个菜鸡就来班门能斧了。 from PIL import Image as Im import os,re ...
  • 可以实现图片批量压缩,支持记录操作日志,存在子目录则递归查找文件并压缩压缩图片性能强大,是运维必备样例代码。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 44,771
精华内容 17,908
关键字:

python图片压缩

python 订阅