img.shape可以的到尺寸
因为cv2读入后img是numpy array,
img.size 指的是图片的宽高通道的相乘后的数,
需要指定维度才能获得宽高通道,
比如,np.size(img, 0)指的是h的大小,
np.size(img, 1) w
np.size(img, 2) c 这个维度适用于彩色通道读入,单通道读入会报错
返回类型,img.shape返回tuple, np.size(img, 0)返回int类型数字。
如果是torch类型数据
img.shape和img.size()返回的内容含义是一样的,都是h, w, c。
返回类型,都是torch.size,用方括号index可以取某个维度的尺寸。
特别地,如果img.size(0)这样指定维度,返回int类型的数,跟numpy的一样。
import cv2 raw_img_pth = r"F:vscode_filesprojectsegment_sidedataraw_imgsegment_side6236a959d839b.jpg" img = cv2.imread(raw_img_pth, 0) # 单通道读入 print(img.shape) # h, w import cv2 raw_img_pth = r"F:vscode_filesprojectsegment_sidedataraw_imgsegment_side6236a959d839b.jpg" img = cv2.imread(raw_img_pth, 1) # 彩色通道读入 print(img.shape) # h, w c import numpy as np print(type(img)) print(img.size) print(np.size(img, 0)) import torch img = torch.from_numpy(img) print(img.shape) print(img.size())
output:
(288, 384) (288, 384, 3)331776 288 torch.Size([288, 384, 3]) torch.Size([288, 384, 3])
读取和拿尺寸写在一起:
import cv2 import numpy as np raw_img_pth = r"F:vscode_filesprojectsegment_sidedataraw_imgsegment_side6236a959d839b.jpg" print(cv2.imread(raw_img_pth, 0).shape) # 单通道读入
output:
(288, 384)



