image.shape[] 和array.shape[]的含义

image.shape[]也是将图片转换成array.shape[]来输出的,所以理解了array.shape[]就可以理解image.shape[]了
array.shape表示array的组成情况
shape[0],shape[1],shape[2],shape[3]…表示array不同层次的元素数量
从shape[0]-shape[1]表示的是array从外到内的组成元素个数
举例如下
定义如下数组 dem1

dem1 = np.array([[[ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.]],
       [[ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.]]])
print(dem1.shape[0])
print(dem1.shape[1])
print(dem1.shape[2])

输出结果为

2
3
8

定义如下数组dem2

dem2 = np.array([[[ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.]])
print(dem2.shape[0])
print(dem2.shape[1])

输出结果为

3
8

若在dem2的程序中加入 print(dem2.shape[2])
则会显示 IndexError: tuple index out of range

同理,运用到image.shape[]时,image.shape[0],image.shape[1]表示图像长,宽,image.shape[0],image.shape[1],image.shape[2]表示图像长,宽,通道数

*需要注意,数组层数不同,方括号的数量也不同,否则会显示

TypeError: data type not understood

此问题可参考博客 https://blog.csdn.net/quintind/article/details/77370276

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章