首页 > 解决方案 > 在几毫秒内加载 image.png

问题描述

我需要在不到 1 秒的时间内对图像执行功能。我有一个 1000x1000 图像的问题,只是将其作为矩阵加载到程序中,需要 1 秒。

我用来加载它的函数如下:

import png

def load(fname):

    with open(fname, mode='rb') as f:
        reader = png.Reader(file=f)
        w, h, png_img, _ = reader.asRGB8()
        img = []
        for line in png_img:
            l = []
            for i in range(0, len(line), 3):
                l+=[(line[i], line[i+1], line[i+2])]
            img+=[l]

        return img

我该如何修改它,以便在打开图像时花费几毫秒多一点?

重要提示:我无法导入除此之外的其他功能(这是大学练习,因此有规则-.-)。所以我必须自己买一个

标签: pythonpython-3.x

解决方案


您可以使用PIL它为您执行此操作,它经过高度优化且速度快

from PIL import Image

def load(path):
    return Image.open(path)

推荐阅读