相关疑难解决方法(0)

在python中加载图像的一部分

这可能是一个愚蠢的问题,但......

我有几千个图像,我想加载到Python然后转换为numpy数组.显然这有点慢.但是,我实际上只对每张图片的一小部分感兴趣.(相同的部分,图像中心只有100x100像素.)

有没有办法加载图像的一部分,以使事情变得更快?

下面是一些示例代码,我生成一些示例图像,保存并重新加载.

import numpy as np
import matplotlib.pyplot as plt
import Image, time

#Generate sample images
num_images = 5

for i in range(0,num_images):
    Z = np.random.rand(2000,2000)
    print 'saving %i'%i
    plt.imsave('%03i.png'%i,Z)

%load the images
for i in range(0,num_images):
    t = time.time()

    im = Image.open('%03i.png'%i)
    w,h = im.size
    imc = im.crop((w-50,h-50,w+50,h+50))

    print 'Time to open: %.4f seconds'%(time.time()-t)

    #convert them to numpy arrays
    data = np.array(imc)
Run Code Online (Sandbox Code Playgroud)

python numpy scipy python-imaging-library

16
推荐指数
2
解决办法
8998
查看次数

标签 统计

numpy ×1

python ×1

python-imaging-library ×1

scipy ×1