哎呀崩溃!!!关于np.shape()在对数组和图片使用时的差异

由于对np.shape()这个函数输出的值很好奇,在网上查询结果不统一,于是自己通过手动实验看一下结果

构造矩阵

import numpy as np
import cv2

a=np.array(range(0,36))
b=a.reshape((3,3,4))
>>>
[[[ 0  1  2  3]
  [ 4  5  6  7]
  [ 8  9 10 11]]

 [[12 13 14 15]
  [16 17 18 19]
  [20 21 22 23]]

 [[24 25 26 27]
  [28 29 30 31]
  [32 33 34 35]]]
print(np.shape(b))
>>>
(3,3,4)

至此,我就臆断为,输出结果为(片,行,列)
所以就导致我在对图片img使用shape()的时候,一脸懵比….

import numpy as np
import cv2

img=cv2.imread("...")
print(np.shape(img))
>>>
(768, 1024, 3)

至此,彻底懵比….768片???图片才3列???
带着这个问题又去寻找图片矩阵的相关知识
兜兜转转
最后回来通过

import numpy as np
import cv2
from PIL import Image

im=Image.open('../test_pic/dog.jpg')
print(im.size)
>>>
(1024,768)

开始逐渐确定shape图片的前两个参数是行列
结果,就在我把书翻到下一页,看到图片参数,这回彻底确定了
总结一下:
自定义矩阵的参数,没有错
图片的参数,没有错
网上的解释,也没有错,但都是单独对一个方面进行的解释
虽然都是shape函数的结果,但是并不可相提并论

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值