利用Numpy库的方法reshape()对ndarray对象矩阵的形状进行调整

利用Numpy库的函数reshape()对ndarray对象矩阵的形状进行调整

调整矩阵或图像的形状是一个常用的操作。
在Numpy库中,可使用函数reshape()实现此操作。

其函数原型如下:

dst = numpy.reshape(a, newshape[, order='C'])

参数意义如下:
a—需要调整形状的矩阵。
newshape—调整后矩阵的形状,用一个元组进行表示。可将某个维度的值设为-1,此时这个维度的值函数会根据矩阵元素的个数自动计数出。
order—这个参数的可选值有C、F、A,默认值为C,这个参数大家一般不需要理解,用默认的值‘C’就可以。如果想详细了解,可以参考我的另一篇博文:https://www.hhai.cc/thread-154-1-1.html

使用函数reshape()时需要注意,调整后的尺寸应和矩阵的元素个数兼容,比如12个元素的矩阵,我们可以分成(4,3)或(2,6),但不能分成(3,5)。

函数reshape()的使用很简单,大家看下面的示例代码便知道怎么用了:

# -*- coding: utf-8 -*-
# 出处:昊虹AI笔记网(hhai.cc)
# 用心记录计算机视觉和AI技术

# 博主微信/QQ 2487872782
# QQ群 271891601
# 欢迎技术交流与咨询

# OpenCV的版本为4.4.0

import numpy as np

if __name__ == '__main__':
    # 新建矩阵A1
    A1 = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])
    # 将A1调整为3*4的单通道图像(矩阵)
    img1 = A1.reshape((3, 4))

    # 将A1调整为 2*2*3的两通道图像(矩阵)
    img2 = A1.reshape((2, 2, 3))

    # 将某一维度的值设为-1,函数自动计算出其值
    img3 = A1.reshape((2, 2, -1))

运行结果如下图所示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值