Python 将图像转换为4x4个非重叠块
我想在python中将一个图像分成4x4个不重叠的块,然后将该块转换为16个元素的数组。我建议使用像这样的高质量库,特别是如果将来需要更多步骤的话。它基于numpy/scipy 下面是一种最小的示例() 代码: 输出Python 将图像转换为4x4个非重叠块,python,image-processing,Python,Image Processing,我想在python中将一个图像分成4x4个不重叠的块,然后将该块转换为16个元素的数组。我建议使用像这样的高质量库,特别是如果将来需要更多步骤的话。它基于numpy/scipy 下面是一种最小的示例() 代码: 输出 我建议使用像这样的高质量库,特别是如果将来需要更多步骤的话。它基于numpy/scipy 下面是一种最小的示例() 代码: 输出 伟大的你试过什么?你期待什么?发生了什么事?如果没有一个数组,我们无法提供太多帮助。我使用Image.open()读取图像,然后使用numpy.asar
我建议使用像这样的高质量库,特别是如果将来需要更多步骤的话。它基于numpy/scipy 下面是一种最小的示例() 代码: 输出
伟大的你试过什么?你期待什么?发生了什么事?如果没有一个数组,我们无法提供太多帮助。我使用Image.open()读取图像,然后使用numpy.asarray将其转换为ndarray,然后我尝试拆分数组,但我认为它无法正常工作。为什么不显示代码?另外:使用一些外部特殊库可能是一个好主意(不一定是因为你的问题很难解决;但它会优化、健壮,也许还有其他你想做的事情)太棒了!你试过什么?你期待什么?发生了什么事?如果没有一个数组,我们无法提供太多帮助。我使用Image.open()读取图像,然后使用numpy.asarray将其转换为ndarray,然后我尝试拆分数组,但我认为它无法正常工作。为什么不显示代码?另外:使用一些外部特殊库可能是一个好主意(不一定是因为您的问题很难解决;但它将得到优化、健壮,并且可能还有其他您想要做的事情)
from skimage import data
from skimage import color
from skimage.util import view_as_blocks
# get astronaut from skimage.data in grayscale
l = color.rgb2gray(data.astronaut())
# size of blocks
block_shape = (4, 4)
# see astronaut as a matrix of blocks (of shape block_shape)
view = view_as_blocks(l, block_shape)
# collapse the last two dimensions in one
flatten_view = view.reshape(view.shape[0], view.shape[1], -1)
print(flatten_view.shape)
(128, 128, 16) # 128x128 blocks a 16 elements each