示例:
说明,1-gray.jpg是灰度图像,1-1.jpg是彩色图像

# -*- coding: utf-8 -*-
# Data: 2023/7/2

import cv2


img1 = cv2.imread("./1-1.jpg",cv2.IMREAD_UNCHANGED)
print(img1.ndim)
print(img1.shape)
print(img1.size)
print(img1.dtype)

img2 = cv2.imread("./1-gray.jpg",cv2.IMREAD_UNCHANGED)
print(img2.ndim)
print(img2.shape)
print(img2.size)
print(img2.dtype)

运行后:

E:\python\opencv\venv\Scripts\python.exe E:\python\opencv\main.py 
3
(750, 1200, 3)
2700000
uint8
2
(750, 1200)
900000
uint8

Process finished with exit code 0
  • shape:如果是彩色图像,则返回包含行数,列数,通道数的数组;如果是二值图像或灰度图像,则仅返回行数和列数。通过其返回值是否包含通道值,可以判断图像是灰度图像还是彩色图像。
  • size:返回图像的像素数目。其值为“行✖列✖通道数”,灰度图像或者二值图像的通道数为1。
  • dtype:返回图像的数据类型。
  • ndim:查看图像的维数,彩色图像的维数为 3,灰度图像的维数为 2。