精华内容
下载资源
问答
  • 想做一个把当前目录下所有jpg图像压缩生成预览,保存到子目录directory_radio里,原文件夹有正常jpg图片 运行结果出错: 总是"读写文件出错" 是不是我保存那行:im.save(f'{dir}/directory_radio/{...
  • python制作图片缩略图

    2020-09-19 10:15:09
    主要为大家详细介绍了python制作图片缩略图的相关方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 缩略图在很多时候我们都需要将图片按照同比例缩小有利于存储 但是一张张手动去改的话太麻烦了 今天我们就用python实现一个简单的将一个文件夹中的所有图片进行指定大小的调整缩略前:代码:import osimport globfrom...

    缩略图

    在很多时候我们都需要将图片按照同比例缩小有利于存储 但是一张张手动去改的话太麻烦了 今天我们就用python实现一个简单的将一个文件夹中的所有图片进行指定大小的调整

    缩略前:

    201904300937043.png

    代码:

    import os

    import glob

    from PIL import Image

    def thumbnail_pic(path):

    #glob.glob(pathname),返回所有匹配的文件路径列表

    a=glob.glob(r'./img/*.jpg')

    for x in a:

    name=os.path.join(path,x)

    im=Image.open(name)

    im.thumbnail((80,80))

    print(im.format,im.size,im.mode)

    im.save(name,'JPEG')

    print('Done!')

    if __name__=='__main__':

    path='.'

    thumbnail_pic(path)

    缩略后:

    201904300937044.png

    参数使用说明:

    1、os模块,python的os模块封装了常见的文件和目录操作。

    2、PIL模块中Image类thumbnail()方法可以用来制作缩略图,它接受一个二元数组作为缩略图的尺寸,然后将示例缩小到指定尺寸。

    Image.resize()和Image.thumbnail()的区别

    根据代码和代码注释, 这两个函数都是对图片进行缩放, 两者的主要区别如下:

    resize()函数会返回一个Image对象, thumbnail()函数返回None

    resize()修改后的图片在返回的Image中, 而原图片没有被修改;

    thumbnail()直接对内存中的原图进行了修改, 但是修改需要保存

    resize()中的size参数直接设定了resize之后图片的规格,而thumbnail()中的size参数则是设定了x/y上的最大值. 也就是说, 经过resize()处理的图片可能会被拉伸,而经过thumbnail()处理的图片不会被拉伸

    thumbnail()函数内部调用了resize(), 可以认为thumbnail()是对resize()的一种封装

    使用scrapy爬虫框架制作缩略图

    Images Pipeline为处理图片提供了额外的功能:

    将所有下载的图片格式转换成普通的JPG并使用RGB颜色模式

    生成缩略图

    检查图片的宽度和高度确保它们满足最小的尺寸限制

    管道同时会在内部保存一个被调度下载的URL列表,然后将包含相同媒体的相应关联到这个队列上来,从而防止了多个item共享这个媒体时重复下载。

    ImagesPipeline使用Pillow来生成缩略图以及转换成标准的JPEG/RGB格式。因此你需要安装这个包,我们建议你使用Pillow而不是PIL。

    配置setting.py

    # 同时使用图片和文件管道

    ITEM_PIPELINES = {

    'scrapy.pipelines.images.ImagesPipeline': 1,

    'scrapy.pipelines.files.FilesPipeline': 2,

    }

    # 指定图片字段

    IMAGES_URLS_FIELD = 'images'

    IMAGES_STORE = '/path/to/valid/dir' # 图片存储路径

    # 文件过期90天

    FILES_EXPIRES = 90

    # 图像过期延迟30天

    IMAGES_EXPIRES = 30

    # 图片缩略图

    IMAGES_THUMBS = {

    'small': (50, 50),

    'big': (270, 270),

    }

    # 图片过滤器,最小高度和宽度

    IMAGES_MIN_HEIGHT = 110

    IMAGES_MIN_WIDTH = 110

    pipeline.py文件

    class YuehuiImagePipeline(ImagesPipeline):

    def item_completed(self, results, item, info):

    if results[0][0]:

    item['image_path'] = results[0][1]['path']

    else:

    item['image_path'] = ''

    return item

    items.py

    class YuehuiItem(scrapy.Item):

    uid= scrapy.Field()

    height = scrapy.Field()

    weight = scrapy.Field()

    images = scrapy.Field() #头像url字段 要求列表 在setting文件中配置

    image_path = scrapy.Field()

    以上为个人使用scrapy保存缩略图的总结。

    本文标题: python制作图片缩略图

    本文地址: http://www.cppcns.com/jiaoben/python/258070.html

    展开全文
  • python如何制作缩略图

    2020-09-19 10:15:27
    python如何制作缩略图?这篇文章主要为大家详细介绍了python制作缩略图的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • python制作缩略图

    千次阅读 2017-08-28 20:14:30
    python制作缩略图

    给一个文件夹里的所有图片进行缩略,代码:

    import os
    import glob
    from PIL import Image
    
    def thumbnail_pic(path):
        a=glob.glob(r'./*.jpg')
        for x in a:
                name=os.path.join(path,x)
            im=Image.open(name)
            im.thumbnail((80,80))
            print(im.format,im.size,im.mode)
            im.save(name,'JPEG')
        print('Done!')
    
    if __name__=='__main__':
        path='.'
        thumbnail_pic(path)

    学习笔记:
    1、os模块,python的os模块封装了常见的文件和目录操作。
    2、PIL模块中Image类thumbnail()方法可以用来制作缩略图,它接受一个二元数组作为缩略图的尺寸,然后将示例缩小到指定尺寸。
    Image.resize()和Image.thumbnail()的区别
    根据代码和代码注释, 这两个函数都是对图片进行缩放, 两者的主要区别如下:

    • resize()函数会返回一个Image对象, thumbnail()函数返回None
    • resize()修改后的图片在返回的Image中, 而原图片没有被修改;
    • thumbnail()直接对内存中的原图进行了修改, 但是修改需要保存
    • resize()中的size参数直接设定了resize之后图片的规格,而thumbnail()中的size参数则是设定了x/y上的最大值. 也就是说, 经过resize()处理的图片可能会被拉伸,而经过thumbnail()处理的图片不会被拉伸

    thumbnail()函数内部调用了resize(), 可以认为thumbnail()是对resize()的一种封装
    两个函数的基本调用方式如下:

    from PIL import Image
    # Image.resize usage
    with Image.open("test.jpg") as img:
        resized = img.resize((new_x, new_y), resample=Image.LANCZOS)
        resized.save("resized.jpg", format="jpeg")
    # Image.thumbnail usage
    with Image.open("test.jpg") as img:
        img.thumbnail((max_x, max_y), resample=Image.LANCZOS)
        img.save("thumbnail.jpg", format="jpeg")

    3、glob模块,glob.glob(pathname),返回所有匹配的文件路径列表。

    展开全文
  • python缩略图 Django,Flask和其他Python项目的缩略图。 安装 pip install pillow # default image engine, not necessary if another engine is used pip install python-thumbnails 用法 from thumbnails import ...
  • Python处理图片缩略图

    2017-12-28 11:53:00
    CPU 密集型任务和 IO 密集型任务分别选择多进程multiprocessing.Pool.map 和多线程库multiprocessing.dummy.Pool.map import os import PIL from multiprocessing import Pool ...SAVE_DIREC...

    CPU 密集型任务和 IO 密集型任务分别选择多进程multiprocessing.Pool.map

    和多线程库multiprocessing.dummy.Pool.map

    import os 
    import PIL 
    from multiprocessing import Pool 
    from PIL import Image
    SIZE = (75,75)
    SAVE_DIRECTORY = 'thumbs'
    def get_image_paths(folder):
        return (os.path.join(folder, f) 
                for f in os.listdir(folder) 
                if 'jpeg' in f)
    def create_thumbnail(filename): 
        im = Image.open(filename)
        im.thumbnail(SIZE, Image.ANTIALIAS)
        base, fname = os.path.split(filename) 
        save_path = os.path.join(base, SAVE_DIRECTORY, fname)
        im.save(save_path)
    if __name__ == '__main__':
        folder = os.path.abspath(
            '11_18_2013_R000_IQM_Big_Sur_Mon__e10d1958e7b766c3e840')
        os.mkdir(os.path.join(folder, SAVE_DIRECTORY))
        images = get_image_paths(folder)
        pool = Pool()
        pool.map(creat_thumbnail, images)
        pool.close()
        pool.join()

     

    转载于:https://www.cnblogs.com/Erick-L/p/8134958.html

    展开全文
  • python 批量生成缩略图

    2020-07-24 23:50:11
    python 批量生成缩略图 安装 pillow pip3 install -i https://pypi.douban.com/simple -r requirements.txt 切换到当前文件夹,在终端中输入 python demo.py + 需要生成缩略图的文件目录在当前文件夹中会生成...

    python 批量生成缩略图

    1. 安装 pillow

      pip3 install -i https://pypi.douban.com/simple -r requirements.txt

    2. 切换到当前文件夹,在终端中输入 python demo.py + 需要生成缩略图的文件目录在当前文件夹中会生成一个 demo.conf 文件,在该文件中配置对应的缩略图大小(缩略图格式为:width x height),配置完成在终端中输入 1 按回车结束。

    脚本如下:

    import os
    import json
    import sys
    
    from PIL import Image
    
    Image.MAX_IMAGE_PIXELS = None
    
    def generate_conf(dir):
        dic = {
            'dir': dir,
            'result': {}
        }
        for file in os.listdir(dir):
            ext = os.path.splitext(file)[1]
            if ext not in ['.jpg', '.png', '.jpeg', '.bmp']:
                continue
            dic.get('result')[file] = ''
        with open('./demo.conf', 'w') as f:
            f.write(json.dumps(dic))
        print('>>>请在 demo.conf 中完成图片大小配置')
        res = input('>>>配置完成请输入1:')
        return res
    
    def resize_image():
        with open('./demo.conf', 'r') as f:
            conf = json.loads(f.readlines()[0])
            dir = conf.get('dir')
            result = conf.get('result')
            for key, value in result.items():
                image_full_path = os.path.join(dir, key)
    
                if not value:
                    raise '{0} 大小配置为空,请修改后重试'
                if 'x' not in value:
                    raise '{0} 格式配置有误,正确格式为 "width x height" 请修改后重试'
    
                size = int(value.split('x')[0].strip(' ')), int(value.split('x')[1].strip(' '))
                im = Image.open(image_full_path)
                im.thumbnail(size)
                save_image_dir = os.path.join(dir, 'thumb')
    
                if not os.path.exists(dir):
                    os.makedirs(dir)
    
                save_image_path = os.path.join(save_image_dir, key)
                im.save(save_image_path)
        print('>>>', '图片生成缩略图完成,请到{0}文件夹中查看'.format(save_image_dir))
    
    if __name__ == "__main__":
        args = sys.argv
        if len(args) < 2:
            raise '请输入有效的图片文件夹地址'
        dir = args[1]
        res = generate_conf(dir)
    
        flag = True
        while flag:
            if res and int(res) == 1:
                resize_image()
                flag = False
            else:
                res = input('>>>你输入的值有误,请重新输入。配置完成请输入1:')
    

    githua 源码地址

    展开全文
  • 本文实例讲述了python使用pil生成缩略图的方法。分享给大家供大家参考。具体分析如下: 这段代码实现python通过pil生成缩略图的功能,会强行将图片大小修改成250×156 from PIL import Image img = Image.open('jb51...
  • Python知识缩略图

    2021-05-03 21:49:38
  • Python 生成缩略图

    千次阅读 2013-11-26 08:05:07
    #!/usr/bin/env python #coding=utf-8 ''' Created on 2012-6-2 @author: fatkun ''' import Image import os import sys import glob ...def make_thumb(path, thumb_path, size): """生成缩略图""
  • python 制作缩略图

    千次阅读 2016-07-03 19:04:29
    import cv2 #导入opencv模块 from tkinter import * #导入tkinter模块 from tkinter import ttk #tkinter最新的主题部件 from PIL import Image #初始化模块 root = Tk() ...#查找图片路径,成功则显示
  • I have url of a video files and I want to generate the thumbnail each of this video source url.I'm using Django.My application does this:-1. Crawl the some webpage2. Extract all the video link from it...
  • python生成指定尺寸的缩略图 复制代码 代码如下:def MakeThumb(path, sizes=(75, 32, 16)): “”” 缩略图生成程序 by Neil Chen sizes 参数传递要生成的尺寸,可以生成多种尺寸 “”” base, ext = os.path....
  • python图像处理库:Pillow初级教程 Image类   Image.resize()和Image.thumbnail()的区别 根据代码和代码注释, 这两个函数都是对图片进行缩放, 两者的主要区别如下: resize()函数会返回一个Image对象, ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,354
精华内容 4,541
关键字:

python缩略图

python 订阅