-
2020-04-26 09:35:09
image.resize((width, height),Image.ANTIALIAS)
第一个参数:(width, height)指定图像宽、高值
第二个参数: Image.NEAREST :低质量; Image.BILINEAR:双线性;
Image.BICUBIC :三次样条插值; Image.ANTIALIAS:高质量
更多相关内容 -
Python 使用PIL中的resize进行缩放的实例讲解
2020-12-23 21:23:43img = img.resize((width, height),Image.ANTIALIAS) 以上这篇Python 使用PIL中的resize进行缩放的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网 -
python PIL的Image.resize()和Image.thumbnail()函数的区别
2019-05-27 09:29:40Image.resize()函数用于修改图片的尺寸。 Image.thumbnail()函数用于制作当前图片的缩略图。 resize() 函数是修改图片的size, resample参数传入采样算法, 一般使用高质量缩放的Image.LANCZOS参数。 thumbnail() ...欢迎关注WX公众号:【程序员管小亮】
Image.resize()函数用于修改图片的尺寸。
Image.thumbnail()函数用于制作当前图片的缩略图。
-
resize()
函数是修改图片的size
,resample
参数传入采样算法, 一般使用高质量缩放的Image.LANCZOS
参数。 -
thumbnail()
函数是制作当前图片的缩略图, 参数size
指定了图片的最大的宽度和高度。
Image.resize
from PIL import Image img2 = Image.open('./1.jpg') print("初始尺寸",img2.size) img2.resize((128,128)) print("Image.resize",img2.size) # 初始尺寸 (500, 336) # Image.resize (500, 336)
Image.thumbnail
from PIL import Image img = Image.open('./1.jpg') print("初始尺寸",img.size) img.thumbnail((128,128)) print("默认缩放NEARESET",img.size) img.thumbnail((127,127),Image.BILINEAR) print("BILINEAR",img.size) img.thumbnail((126,126),Image.BICUBIC) print("BICUBIC",img.size) img.thumbnail((125,125),Image.ANTIALIAS) print("ANTIALIAS",img.size) # 初始尺寸 (500, 336) # 默认缩放NEARESET (128, 86) # BILINEAR (127, 85) # BICUBIC (126, 84) # ANTIALIAS (125, 83)
差别
细心的同学应该发现了
Image.thumbnail
之后的图片出现“设定大小和输出大小不一致”的这个情况,而Image.resize
就不是这样的,为什么会这样呢?这要从两个函数各自的特性说起:这两个函数都是对图片进行缩放,但是存在区别的:
-
resize()
函数会返回一个Image
对象,thumbnail()
函数返回None
。 -
resize()
中的size
参数直接设定了resize
之后图片的规格, 而thumbnail()
中的size
参数则是设定了x/y
上的最大值. 也就是说, 经过resize()
处理的图片可能会被拉伸, 而经过thumbnail()
处理的图片不会被拉伸。 -
thumbnail()
函数内部调用了resize()
, 可以认为thumbnail()
是对resize()
的一种封装。
from PIL import Image img = Image.open('./1.jpg') print("thumbnail前的尺寸", img.size) img.thumbnail((128, 128)) # img3 = thumbnail.thumbnail((128,128)) # print("thumbnail后的尺寸", img3.size) # AttributeError: 'NoneType' object has no attribute 'size' img.save("thumbnail.jpg") img_thumbnail = Image.open('./thumbnail.jpg') print("thumbnail后的尺寸", img_thumbnail.size) img_thumbnail.show() print('* -' * 15) img2 = Image.open('./1.jpg') print("resize前的尺寸", img2.size) img2 = img2.resize((128, 128)) img2.save("resized.jpg") img_resize = Image.open('./resized.jpg') print("resize后的尺寸", img_resize.size) img_resize.show() # thumbnail前的形状 (500, 336) # thumbnail后的形状 (128, 86) # * -* -* -* -* -* -* -* -* -* -* -* -* -* -* - # resize前的形状 (500, 336) # resize后的形状 (128, 128)
原始图片
thumbnail
后的图片:
resize
后的图片
-
可以看出
thumbnail
后的图片还是原有的宽长比例,而resize
后的图片就是我们设置的比例了——正方形; -
可以看出
thumbnail
返回的是None,而resize
返回的就是图片。
img.thumbnail((128, 128)) # img3 = thumbnail.thumbnail((128,128)) # print("thumbnail后的尺寸", img3.size) # AttributeError: 'NoneType' object has no attribute 'size' img.save("thumbnail.jpg") img2 = img2.resize((128, 128)) img2.save("resized.jpg")
python课程推荐。
-
-
python – PIL Image.resize()不调整图片大小
2020-12-10 11:48:53def handle_uploaded_image(i, u):# resize imagefrom PIL import Imageimg = Image.open(i)if img.mode not in ('L', 'RGB'):img = img.convert('RGB')width, height = img.sizeif width == ...我有一些奇怪的问题,PIL没有调整图像大小。
def handle_uploaded_image(i, u):
# resize image
from PIL import Image
img = Image.open(i)
if img.mode not in ('L', 'RGB'):
img = img.convert('RGB')
width, height = img.size
if width == height:
img.thumbnail(settings.THUMB_SIZE, Image.ANTIALIAS)
elif width > height:
ratio = floor(width / height)
newwidth = ratio * 150
newwidthhalf = floor(newwidth / 2)
img.resize((newwidth, 150), Image.ANTIALIAS)
box = 1
img.crop((newwidthhalf, 0, 150, 150))
elif height > width:
ratio = floor(height / width)
newheight = ratio * 150
newheighthalf = floor(newheight / 2)
img.resize((150, newheight), image.ANTIALIAS)
box = 1
img.crop((0, newheighthalf, 150, 150))
path = '/'.join([settings.MEDIA_ROOT, 'users', u.username, 'mugshotv2.jpg'])
img.save(path, format='JPEG')
该代码运行没有任何错误,并产生我的图像命名为mugshotv2.jpg在正确的文件夹,但它不会调整大小。它做了一些事情,因为图片的大小从120 kb降至20 kb,但尺寸保持不变。
也许您也可以建议使用较少代码将图像裁剪成正方形。我有点想像Image.thumbnail这样做,但它做的是它的尺寸缩小为150像素宽度,高度为100像素。
艾伦。
-
解决“ValueError: Unknown resampling filter ... Use Image.NEAREST (0), Image.LANCZOS (1), Image.BIL”
2019-08-27 10:21:571. 问题描述 利用Pillow进行图像...File "C:\Users\yafux\Anaconda3\envs\cu80_py36_tf140\lib\site-packages\PIL\Image.py", line 1869, in resize message + " Use " + ", ".join(filters[:-1]) + " or " +...1. 问题描述
利用Pillow进行图像resize操作,结果报错:
File "C:\Users\yafux\Anaconda3\envs\cu80_py36_tf140\lib\site-packages\PIL\Image.py", line 1869, in resize message + " Use " + ", ".join(filters[:-1]) + " or " + filters[-1] ValueError: Unknown resampling filter (107). Use Image.NEAREST (0), Image.LANCZOS (1), Image.BILINEAR (2), Image.BICUBIC (3), Image.BOX (4) or Image.HAMMING (5)
2. 解决方法
resize函数调用的写法不正确,错误的写法如下所示:
img = np.array(Image.fromarray(cropped).resize(img_size, img_size))
上面的写法少了一对括号,正确的写法应该是:
img = np.array(Image.fromarray(cropped).resize((img_size, img_size)))
至此,问题得到解决。
-
python 处理 图像和视频
2020-04-22 11:17:12Image.open(fp,mode) 打开图像,执行返回Image类的实例。如果文件不存在,会引发IOError错误 fp:打开文件的路径 mode:打开文件的方式,通常使用默认值r Image.new(mode,size,color=0) 新建图像 mode:... -
PHP imageantialias – 是否使用抗锯齿(antialias)功能 | 菜鸟教程
2021-03-23 11:48:24语法bool imageantialias ( resource $image , bool $enabled )对线段和多边形启用快速画图抗锯齿方法。不支持 alpha 部分。使用直接混色操作。仅用于真彩色图像。不支持线宽和风格。使用抗锯... -
⚡【图像描述】pytorch_image_caption
2021-01-25 12:21:22image(image, size): """Resize an image to the given size.""" return image.resize(size, Image.ANTIALIAS) def resize_images(image_dir, output_dir, size): """Resize the images in 'image_dir... -
img.resize()函数的作用和用法-单张图像变换大小
2018-08-12 16:58:34这个是一段学过的简单程序,可以改变图像的大小,jpg,png都可以的: #encoding=utf-8 #author: walker #date: 2014-05-15 #function: 更改图片尺寸大小 ...from PIL import Image ''' filei... -
python PIL 单张图像变换大小—— img.resize()
2020-07-13 17:28:34from PIL import Image ''' filein: 输入图片 fileout: 输出图片 width: 输出图片宽度 height:输出图片高度 type:输出图片类型(png, gif, jpeg...) ... out = img.resize((width, height),Image.ANTIALIAS). -
python-img.resize()
2019-02-23 20:40:151.img.resize((width, height),Image.ANTIALIAS) 第二个参数: Image.NEAREST :低质量 Image.BILINEAR:双线性 Image.BICUBIC :三次样条插值 Image.ANTIALIAS:高质量 from PIL import Image ''' filein: 输入... -
imageantialias()函数
2019-04-23 10:01:35查看更多 https://www.yuque.com/docs/share/3cfb153e-c82b-433d-8239-7451535c809f -
python的PLT中的image和skimage处理图片
2017-12-07 14:40:05PLT中的Image画图 -
PIL(Python Image Library)中 resize的参数
2019-01-02 16:33:56在PIL库中可以实现图形的缩放,但是 如果使用下面的写法的话,会造成部分的信息丢失 img = img.resize((width, height)) ...img = img.resize((width, height),Image.ANTIALIAS) 这样的话就不会有信息丢失啦 ... -
单张图像变换大小—— img.resize()
2018-05-26 13:18:21这个是一段学过的简单程序,可以改变图像的大小,jpg,png都可以的: ...from PIL import Image ''' filein: 输入图片 fileout: 输出图片 width: 输出图片宽度 height:输出图片高度 type:输出图片... -
批量处理图像尺寸
2021-12-11 16:11:13from PIL import Image import cv2 import shutil root = '图像路径' save_path = '处理后的图像保存路径' for r, d, files in os.walk(root): if files != []: for i in files: fp = os.path.join(r, i) label... -
Python图像处理库PIL的基本概念介绍
2016-02-09 22:02:20>>>im_resize2 = im.resize((256,256), Image.ANTIALIAS) >>>im_resize2.size (256, 256) 方法 thumbnail () 的使用如下: 方法 thumbnail () 的定义为: im.thumbnail (size, filter=None) >>>from ... -
paddlepaddle图片采样
2021-10-19 19:45:30im = im.convert('L') print('原始图像shape: ', np.array(im).shape) # 使用Image.ANTIALIAS方式采样原始图片 im = im.resize((28, 28), Image.ANTIALIAS) plt.imshow(im) plt.show() print("采样后图片shape: ", ... -
使用Python快速压缩目录中图片
2019-07-09 18:45:53使用Python快速压缩目录...import Image import os import logging import sqlite3 from PIL import ImageFile ImageFile.LOAD_TRUNCATED_IMAGES = True #全局变量 数据库链接 global cx #全局变量 数据库链接... -
Python图像处理库:PIL中Image,ImageDraw等基本模块介绍
2017-01-24 18:10:00Python图像处理库:PIL中Image,ImageDraw等基本模块介绍 标签:图像处理PILPYTHON 2016-08-19 10:58461人阅读评论(0)收藏举报 分类: 其他(33)测试技术(38) 目录(?)[+] 常用操作 ... -
Pillow模块之Image包的使用
2020-09-23 21:43:371、PIL.Image.open(fp, mode=‘r’) 参数: file – A filename (string) or a file object. The file object must implement read(), seek(), and tell() methods, and be opened in binary mode. mode – The mode... -
resize整个文件夹里的图片
2020-01-27 16:45:37# coding = utf-8 import Image import os def convert(dir,width,height): file_list = os.listdir(dir) print(file_list) for filename in file_list: path = '' path = dir+filenam... -
pillow 高质量图片缩放 保存
2020-03-25 10:13:27img = img.resize((x,y), Image.ANTIALIAS img.save(path, quality = 95) #quality参数: 保存图像的质量,值的范围从1(最差)到95(最佳)。 默认值为75,使用中应尽量避免高于95的值; 100会禁用部分JPEG... -
使用python对文件夹内的照片进行批量修改尺寸
2020-12-04 15:35:59new_dir="C:/Users/Administrator/stylegan/swift2/" size_m=128 size_n=128 forimginfilename: image=Image.open(base_dir+img) image_size=image.resize((size_m,size_n),Image.ANTIALIAS) image_size.save(new_... -
python生成圆形图片的方法
2020-11-24 01:02:30本文实例为大家分享了python生成圆形图片的具体代码,供大家参考,具体内容如下# -*- coding: utf-8 -*-"""__author__= 'Du'__creation_time__= '2018/1/5 9:08'"""import os, mathfrom PIL import Imagedef circle... -
数据预处理--图片大小调整(python)
2020-06-21 17:01:18在实验前,往往需要将图片数据集调整到合适大小。 使用Image函数可以达到效果。 使用方法: 首先导入函数 ...from PIL import Image ...然后使用img=Image.open(path)读取图片, ...Image.ANTIALIAS:高质量 -
tf.image.resize(双线性插值)功能复现(python)
2022-03-24 19:21:14(原创不易,欢迎转载) 一、Tensorflow中的resize功能简介 很多库都有自己的resize功能,用来对图片进行尺度上面的缩放,最常见的比如cv2.resize,tensorflow里面的tf.image.resize等等。从方法的角度来讲,最常见... -
Python实现压缩图片到2M
2022-04-21 18:13:28file, dist_file): try: # 读取原图 src_img = Image.open(src_file) w, h = src_img.size # 重新设置图片尺寸和选项,Image.ANTIALIAS:平滑抗锯齿 # dist_img = src_img.resize((int(w * size_ratio), int(h * ...