您的位置:

python批处理图片尺寸(python批量处理图片大小)

本文目录一览:

如何用Python方法获取图片的准确尺寸

先安装pillow库

然后运行:

from PIL import Image

img = Image.open('图片路径')

print(img.size)

返回的是图片的 高×宽

python 怎么通过 PIL 获得图片尺寸

from PIL import Image

pic_path = 'logo_white_ee663702.png'

im = Image.open(pic_path)

# 这样就可以了

x, y = im.size

print "size: ", x, y

以下为 PIL Image.py 源码

class Image:

    format = None

    format_description = None

    def __init__(self):

        # FIXME: take "new" parameters / other image?

        # FIXME: turn mode and size into delegating properties?

        self.im = None

        self.mode = ""

        self.size = (0, 0)

        self.palette = None

        self.info = {}

        self.category = NORMAL

        self.readonly = 0

        

# 可以看到,初始化时有属性 size

python PIL如何才能把图片修改成正方形或者任意尺寸而不产生挤压

改变图像尺寸有两类方法:

一是缩放(resize),即重采样。这时,如果图像纵横比发生变化就会导致“挤压”。

二是裁剪(crop)。当然图只能越裁越小;不过可以配合缩放,先放大再裁剪。

既然题主要求不能“挤压”,那就只能裁剪了。函数名我给出来了,具体用法题主自己研究。

Python制作一个BMP图片为什么不可以超过3W*3W像素,是图片格式原因么?

有可能是内存限制,如果你是32位的python那么创建一个3W*3W的BMP就需要30000 * 30000 * 3(2700000000)这么大的内存,因为操作系统对进程的内存有限制,所以就不能创建更大的图片了。

如果使用64位的python有可能会可以创建更大的图片。python通常使用pillow库来进行图片的操作,你可以阅读一下pillow的代码,看看创建图片部分有没有对大小有限制。

Python 读取文件夹将里面的图片处理成想要的大小并保存在个指定位置

# -*- coding: utf-8 -*-

import cv2

import os

import numpy

import cutHumanFace

def saveCutFace(filePath, pathSave = 'cutFace', normalizeWidth = 300, normalizeHeight = 300):

    """

    :param filePath: string, 文件夹路径

    """

    

    if not os.path.exists(savePath):

        os.makedirs(savePath);                   #保存的文件夹

        

    files = os.listdir(filePath);                #列出目录下的所有文件

    

    normalizeWidth = 100                         #以100×100为大小

    normalizeHeight = 100

    for file in files:

        normalizeFace = cv2.resize(cutFace, (normalizeWidth,normalizeHeight), interpolation=cv2.INTER_AREA);

        cv2.imwrite(savePath, normalizeFace);

python处理图片数据?

生成一张纯色的图片

先设置图片的颜色,接着利用Image模块的new方法新生成一张图片,png格式的图片需要设置成rgba,类似的还有rgb,L(灰度图等),尺寸设定为640,480,这个可以根据自己的情况设定,颜色同样如此。

批量生成图片

上面生成了一张图片,那要生成十张图片呢,这种步骤一样,只是颜色改变的,利用循环就可以解决。首先创建一个颜色列表,把要生成的图片颜色放进去。接着循环获取不同的颜色,保存的时候利用字符串拼接的方法改变图片的名字。

本地生成的图片

封装成函数

前面的方法已经可以批量生成图片了,为了通用性强一点,我们可以封装成函数,把哪些可以改变的参数单独抽离出来。尺寸也同样,使用的时候,可以根据自己的需要定义颜色列表和尺寸。当然还有加一些提示用语和报错兼容性,这里就不讲了。

本地生成的图片