python - 通过对像素求和来重新缩放矩阵
问题描述
有没有一种通过简单地添加相邻像素来重新缩放矩阵的快速方法?
所以对于一个X=N*M
矩阵,你会得到一个我应该Y=(N/n) *(N/m)
在其中n * m
添加像素的区域。
我一直在手动(通过脚本)这样做,但我认为必须有某种方法可以做到这一点。
for i in range(0, X.shape[0]/n):
for j in range(0, X.shape[1]/m):
Y[i, j] = np.sum(X[i*n:i*n+n, j*m:j*m+m])
例如
X = [[0 1 2 3]
[2 3 4 5]
[3 4 6 8]
[2 3 4 5]]
Y = [[ 6 14]
[12 23]]
解决方案
一种纯粹的 numpy 方法是将矩阵重塑为更多轴并在适当的轴上求和。
Y = X.reshape(X.shape[0]/n, n, X.shape[1]/m, m).sum((1, 3))
推荐阅读
- python - 有什么方法可以记录 Elasticsearch 7.x 中 delete_by_query 输出删除的 id
- python - Add categorical season column to dataframe from existing date column
- java - SOAP 客户端无法使用双向 tls 进行身份验证
- java - 我在 bean factory 中遇到的这个错误的解决方案是什么?
- python - 值误差,使用VGG16的图像归一化误差,人脸识别和检测项目
- python-3.x - 无法初始化到 serial@/dev/ttyUSB0:telosb 的串行连接
- reactjs - 使用带有反应的 Wordpress 联系表格 7
- javascript - Selenium Python,如何让 execute_async_script() 返回 true 或 false
- postgresql - pgbackrest 多主机服务器
- twig - 如何区分这两个值?Twig 返回 sql 组 concat