如何在python中将图像划分为块?

时间:2019-07-13 18:22:10

标签: python keras

我正在使用keras,我想读取代码中的图像,然后将其划分为32x32的非重叠块,并将每个块发送到我学习的深度学习模型中以进行进一步处理。我该怎么做?在学习过程中,我使用CIFAR10进行训练,其图像尺寸为32x32。现在,我想加载Lena,然后将其分成32x32的块,然后发送到我的模型进行处理。我需要对Lena进行一些更改以达到正确的精度吗?谢谢。

lena=Image.open('E:/images/lena_gray_512.tif')
a=view_as_blocks(lena_part, (32,32))

错误:

  

a = view_as_blocks(lena_part,(32,32))追溯(最近调用   最后):

     

文件“”,第1行,在       a = view_as_blocks(lena_part,(32,32))

     

文件   “ D:\ software \ Anaconda3 \ envs \ py36 \ lib \ site-packages \ skimage \ util \ shape.py”,   第82行,在view_as_blocks中       如果block_shape.size!= arr_in.ndim:

     

AttributeError:“ TiffImageFile”对象没有属性“ ndim”

1 个答案:

答案 0 :(得分:1)

您可以尝试view_as_blocks

from skimage.util.shape import view_as_blocks

view_as_blocks(arr, (2,2))