cv2.imread()读取数据的详细过程

图片的详细信息:位深32={R,G,B,透明度},每一个通道占8个字节。如:R=0~255 (2^8-1)
cv2.imread()读取数据的详细过程_第1张图片
图片读取
img = cv2.imread(filepath,flags)
参数:

  • filepath:要读入图片的完整路径
  • flags:读入图片的标志

cv2.IMREAD_COLOR:默认参数,读入一副彩色图片,忽略alpha通道 cv2.IMREAD_GRAYSCALE:读入灰度图片
cv2.IMREAD_UNCHANGED:顾名思义,读入完整图片,包括alpha通道

alpha通道是一个8位的灰度通道,该通道用256级灰度来记录图像中的透明度复信息,定义透明、不透明和半透明区域,其中黑表示全透明,白表示不透明,灰表示半透明
cv2.imread()读取数据的详细过程_第2张图片

img=[H,W,C],故它是从H方向一行一行的读取的{h0,h1,…,h336},对于每一行又是一列一列的读取h0={w0,w1,…,w343},每一列的深度为3,所以w0={R,G,B}。

显示图片:

cv2.imshow('image',img)
# 如果不加上这句,图片的显示没有停留,可能看不到图片显示
cv2.waitKey(0)

高维矩阵转置

img = img.transpose([2,0,1])

未转置前的img:[H,W,C],现想改变内部排序,将C:2放首位,H:0和W:1的位置不变。
cv2.imread()读取数据的详细过程_第3张图片

你可能感兴趣的:(opencv,opencv)