彩色图像和三维数组结构分析

图像处理没打好基础,很容易犯这样一个误区:灰度图像是二维的,彩色图像是三维的,然后以为彩色图像在储存时是和三维数组的储存方式一样的。然后在对图像进行元素处理时老是犯错误或者慢人一拍。下面直接上程序了。

import matplotlib.pyplot as plt
img=plt.imread("kitten.jpg")
plt.imshow(img)
print(img.shape)

上面是一个简单的图片读取模型,最后的输出结果是

然后写一个三维数组,输出它的shape

import numpy as np
X = np.random.randint(0, 5, [3, 2, 2])
print(X,'\n',X.shape)

结果如下:

[[[2 3]
  [4 1]]

 [[2 2]
  [0 1]]

 [[4 0]
  [2 0]]] 
 (3, 2, 2)

因为彩色图像有3个depth,而笔者对三维数组的方式有比较直观的感觉,比较好理解。我们在处理图像时会用到transpose函数来进行调整。

结果显示,img的shape已经改变了,同时这样的方式不能直接输出,这边在imshow的时候就出现了error。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值