简体   繁体   English

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

[英]how do I divide an image into blocks in python?

I am using keras and I want to read an image in my code and then divide it into 32x32 non-overlapping blocks and send each block into my learned deep learning model for further processing. 我正在使用keras,我想读取代码中的图像,然后将其划分为32x32不重叠的块,并将每个块发送到我学习的深度学习模型中以进行进一步处理。 how can I do it? 我该怎么做? during learning, I used CIFAR10 for training which has images with size 32x32. 在学习过程中,我使用CIFAR10进行训练,其图像尺寸为32x32。 now I want to load Lena and then divide it into 32x32 blocks and send to my model for processing. 现在,我想加载Lena,然后将其分成32x32的块,然后发送到我的模型进行处理。 do I need to do some changes on Lena to achieve correct accuracy? 我需要对Lena进行一些更改以达到正确的精度吗? Thank you. 谢谢。

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

error: 错误:

a=view_as_blocks(lena_part, (32,32)) Traceback (most recent call last): a = view_as_blocks(lena_part,(32,32))追溯(最近一次调用为最后):

File "", line 1, in a=view_as_blocks(lena_part, (32,32)) 文件“”,第1行,位于a = view_as_blocks(lena_part,(32,32))中

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

AttributeError: 'TiffImageFile' object has no attribute 'ndim' AttributeError:'TiffImageFile'对象没有属性'ndim'

You can try view_as_blocks 您可以尝试view_as_blocks

from skimage.util.shape import view_as_blocks

view_as_blocks(arr, (2,2))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM