python - 了解python图像数组
问题描述
我可以像这样声明一个 3D 数组:
一个 3D 数组,形状-(2, 2, 2)
3D_array = np.array([[[0, 1],[2, 3]], [[4, 5],[6, 7]]])
因此,如果我有图像10*10(pixels) 3 rgb
通道,则 image.shape 将是(3x10x10)
. 但我一直看到 image.shape 等于(10x10x3)
,我不明白为什么?
谢谢你的关注。
解决方案
通常在 numpy 和 matplotlib 中,RGB 通道位于最后一个轴上。这只是一个约定,因此您对此无能为力。如果您使用使用其他约定(通道优先)的程序,您可以使用以下方式转换图像:
channels_first_im = np.moveaxis(channels_last_im, 0, 1)
另一种方式:
channels_last_im = np.moveaxis(channels_first_im, 0, -1)
推荐阅读
- python - 如何在 Windows 10 上使用 ubuntu 作为开发服务器设置 vagrant?
- mysql - 如何批量编辑多个帖子的 wp_metadata?
- javascript - 如何删除谷歌材料图表中的十进制值
- javascript - 如何在 vue.js 的组件中运行 bootstrap 的轮播间隔函数?
- c# - "error CS0103: the name 'w' does not exist in the current context" in LINQ lambda expression
- laravel - 如何在 Laravel 中显示自定义登录验证
- angular - 离子中的@Output 和 eventEmitter?
- c++11 - C++11 - 如何修复无法使用 noexcept 说明符检测函数声明的 noexcept 运算符
- php - 如何将多维PHP数组转换为html表
- html - Bootstrap 4 scrollspy 不能在比导航的链接上工作