在读图片时,会用到这么的一段代码:

image_vector_len = np.prod(image_size)#总元素大小,3*55*47

img = Image.open(path)
        arr_img = np.asarray(img, dtype='float64')
        arr_img = arr_img.transpose(2,0,1).reshape((image_vector_len, ))# 47行,55列,每个点有3个元素rgb。再把这些元素一字排开

transpose是什么意识呢? 看如下例子:

arr1 = array([[[ 0,  1,  2,  3],

[ 4,  5,  6,  7]],

[[ 8,  9, 10, 11],
        [12, 13, 14, 15]]])
这是原来的矩阵。如果对其进行转置,执行arr2 = arr1.transpose((1,0,2))
得到:array([[[ 0,  1,  2,  3],
        [ 8,  9, 10, 11]],

[[ 4,  5,  6,  7],
        [12, 13, 14, 15]]])

过程是怎样的?

arr1.shape 应该是(2, 2, 4) 意为 2维,2*4矩阵

arr1.transpose(*args) 里面的参数,可以这么理解,他是调换arr1.shape的顺序,咱来给arr1.shape标一下角标哈,(2[0], 2[1], 4[2])  [ ] 里是shape的索引,对吧, 
transpose((1, 0, 2)) 的意思是 按照这个顺序 重新设置shape 也就是 (2[1], 2[0], 4[2])

虽然看起来 变换前后的shape都是 2,2,4  , 但是问题来了,transpose是转置
shape按照(1,0,2)的顺序重新设置了, array里的所有元素 也要按照这个规则重新组成新矩阵

比如 8 在arr1中的索引是 (1, 0, 0)  那么按照刚才的变换规则,就是 (0, 1, 0) 看看跟你结果arr2的位置一样了吧,依此类推..

另外一个知识点:

对于一维的shape,转置是不起作用的,举例:

x=linspace(0,4,5)

#array([0.,1.,2.,3.,4.])

y=transpose(x)   # 会转置失败。

如果想正确使用的话:

x.shape=(5,1)

y=transpose(x)   #就可以了

python 矩阵转置transpose相关推荐

  1. python transpose_对python 矩阵转置transpose的实例讲解

    在读图片时,会用到这么的一段代码: image_vector_len = np.prod(image_size)#总元素大小,3*55*47 img = Image.open(path) arr_im ...

  2. python转置矩阵函数_对python 矩阵转置transpose的实例讲解

    在读图片时,会用到这么的一段代码: image_vector_len = np.prod(image_size)#总元素大小,3*55*47 img = Image.open(path) arr_im ...

  3. python矩阵转置_对python矩阵转置transpose的实例讲解

    对python矩阵转置transpose的实例讲解 在读图片时,会用到这么的一段代码: image_vector_len = np.prod(image_size)#总元素大小,3*55*47 img ...

  4. python矩阵转置_Python 矩阵转置的几种方法小结

    我就废话不多说了,直接上代码吧! #Python的matrix转置 matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]] def printmatrix(m): fo ...

  5. python 矩阵转置

    python 矩阵转置 matrix = [ ... [1, 2, 3, 4], ... [5, 6, 7, 8], ... [9, 10, 11, 12], ... ] 以下实例将3X4的矩阵列表转 ...

  6. python矩阵转置与zip(*)的使用

    Python中的矩阵转置方法有如下几种: 使用双重循环做(最直接,最本质的方法) import random row = 3 column = 4 array = [[random.randint(0 ...

  7. python矩阵转置_867. 矩阵转置(Python)

    题目 难度:★☆☆☆☆ 类型:几何.二维数组.数学 给定一个矩阵 A, 返回 A 的转置矩阵. 矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引. 示例 示例 1 输入:[[1,2,3], ...

  8. python矩阵转置_Python中的矩阵转置

    Python中的矩阵转置 我试图为python创建一个矩阵转置函数,但我似乎无法使它工作.说我有theArray = [['a','b','c'],['d','e','f'],['g','h','i' ...

  9. python矩阵转置_关于python中矩阵的实现和矩阵的转置

    python中矩阵的实现是靠序列,,, 序列有很多形式, 其实矩阵是现实生活中的东西,把现实生活中的结构转换到程序中. 就需要有个实现的方法,而这种路径是多种多样的. 下面给出一个把矩阵转换成pyth ...

最新文章

  1. 无法在证书存储区中找到清单签名证书的解决办法
  2. shell 动态进程守护
  3. boost::maximum_weighted_matching用法的测试程序
  4. Wpf 调用线程无法访问此对象,因为另一个线程拥有该对象,解决方案
  5. 【转】关于使用Android6.0编译程序时,出现getSlotFromBufferLocked: unknown buffer: 0xac0f8650问题的解释...
  6. flash调用swf文件服务器,浏览器如何加载Flash文件? (SWF)
  7. cadence设计运算放大器_21.比较器的原理与特性,它与运算放大器的本质区别总结归纳...
  8. [导入]完成可脚本调用的视频录制控件
  9. php获取当天日期及星期几,[PHP]获取当天或指定日期属于星期几
  10. springcloud+eureka+seata实现分布式事务处理
  11. 软件配置一套键鼠控制两台电脑
  12. java导入ldif文件
  13. 修改intellij IDEA 项目编码
  14. linux系统日志排故方案,Linux系统故障排查思路与常见案例
  15. Ubuntu操作系统如何搭建可视化界面?
  16. 机器学习四大数据降维方法详解
  17. 使用MATLAB实现对信号的EMD分解
  18. 【绝对管用】彻底的卸载干净oracle 11g
  19. 计算机视觉专业排名,2020美国人工智能专业排名TOP10!
  20. 在MS Office,Visual Basic 6和Visual Basic for Applications中解析名称

热门文章

  1. java脏话模糊对比_分享JavaWeb中filter过滤器的案例妙用 - 脏话过滤/编码过滤/代码过滤...
  2. 【0】PhotoShop常用快捷键备忘录
  3. 认知空间是什么意思_什么是认知能力,人的认知能力包括哪些
  4. VS2019连接MySQL数据库
  5. STM32实现水下四旋翼(八)传感任务4——电池电量检测
  6. dbt2 mysql_DBT2-和DBT2相关的内容-阿里云开发者社区
  7. android手机和荣耀哪个版本好,华为荣耀是安卓哪个版本系统
  8. Andorid-15k+的面试题
  9. stochastic masks——随机掩码
  10. Unity中Mono脚本单例模式