python - 在先 channel 和最后 channel 之间更改图像 channel 顺序的正确方法是什么?

标签 python numpy machine-learning keras theano

我一生都无法弄清楚如何切换图像排序。图像以 (x,x,3) 格式读取,theano 要求它是 (3,x,x) 格式。我尝试更改顺序 numpy.array([img[:,:,i] for i in range(3)])

我想它可以完成工作,但它既丑陋,我不知道如何反转它以恢复原始图像。

最佳答案

我同意@Qualia 的评论,np.moveaxis(a, source, destination)更容易理解。这样就可以了:

x = np.zeros((12, 12, 3))
x.shape
#yields: 
(12, 12, 3)

x = np.moveaxis(x, -1, 0)
x.shape
#yields: 
(3, 12, 12)

关于python - 在先 channel 和最后 channel 之间更改图像 channel 顺序的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43829711/

相关文章:

python - 根据排除键的相似性合并两个字典

python - Django 日期时间字段(带有 sqlite 数据库)返回 unicode

python - 如何突出显示图中的区域以指示 Python 中的滑动窗口?

python - 在python中实现梯度下降

python - 我在抓取的 JSON 中遇到 KeyError

python - Tensorflow 在 Mac 上无法从 Anaconda 运行

python - 为什么我的 3D numpy 数组中的值在我将其写入文件时会发生变化?

python - scipy convolve2d 输出错误的值

python - LightFM推荐: Inconsistent error with interaction data

python - 随机森林中的超参数调整