我正在try 将一个稀疏的数组图像reshape for each 单元16x16个元素的网格图像.我认为

grid_image = image.reshape((h//16, w//16, -1))                  

应该能行得通.在下面的示例中,GRID_IMAGE具有(1,2,256)形状.然而,当我将元素GRID_IMAGE[0,0]与图像[:16,:16].ravel()中的元素进行比较时,它们并不相同.下面的代码显示为假.我的逻辑一定是错的,但我不知道在哪里.有什么帮助吗?

import numpy as np
h,w = 16,32
image = np.random.rand(h, w)
grid_image = image.reshape((h//16, w//16, -1))                  
print((image[:16, :16].ravel() == grid_image[0,0]).all())

推荐答案

你需要做一些额外的调换.以下是我对此的看法:

xy是单元格的高度和宽度,在本例中均为16. 设rows = h // xcols = w // y是每个方向上的面片数量.

  • 当前图像形状/排序:(rows x) (cols y)
  • 您想要的数组形状:rows cols (x y)

因此,colsx需要互换轴线.

x = y = 16
rows, cols = h // x, w // y
grid_image = image.reshape(rows, x, cols, y).swapaxes(1, 2).reshape(rows, cols, x * y)

Python相关问答推荐

在函数内部使用eval(),将函数的输入作为字符串的一部分

线性模型PanelOLS和statmodels OLS之间的区别

Polars LazyFrame在收集后未返回指定的模式顺序

使用新的类型语法正确注释ParamSecdecorator (3.12)

ModuleNotFound错误:没有名为flags.State的模块; flags不是包

聚合具有重复元素的Python字典列表,并添加具有重复元素数量的新键

如何获取TFIDF Transformer中的值?

使用setuptools pyproject.toml和自定义目录树构建PyPi包

无法使用DBFS File API路径附加到CSV In Datricks(OSError Errno 95操作不支持)

部分视图的DataFrame

为什么Django管理页面和我的页面的其他CSS文件和图片都找不到?'

如何在FastAPI中为我上传的json文件提供索引ID?

如何在BeautifulSoup/CSS Select 器中处理regex?

为什么调用函数的值和次数不同,递归在代码中是如何工作的?

Pandas—堆栈多索引头,但不包括第一列

从嵌套极轴列的列表中删除元素

如何使用matplotlib查看并列直方图

如何为需要初始化的具体类实现依赖反转和接口分离?

为什么我的scipy.optimize.minimize(method=";newton-cg";)函数停留在局部最大值上?

Pandas 删除只有一种类型的值的行,重复或不重复