OpenCV 函数学习05-图像的属性

5. 数字图像的属性

OpenCV 中图像对象的数据结构是 ndarray 多维数组,因此 ndarray 数组的属性和操作方法也都适用于 OpenCV 的图像对象。

OpenCV 函数学习05-图像的属性

  • img.ndim:查看图像的维数,彩色图像的维数为 3,灰度图像的维数为 2。
  • img.shape:查看图像的形状,即图像栅格的行数(高度)、列数(宽度)、通道数。
  • img.size:查看图像数组元素总数,灰度图像的数组元素总数为像素数量,彩色图像的数组元素总数为像素数量与通道数的乘积。

基本例程:

    # 1.11 图像数组的属性
    imgFile = "../images/imgLena.tif"  # 读取文件的路径
    img1 = cv2.imread(imgFile, flags=1)  # flags=1 读取彩色图像(BGR)
    img2 = cv2.imread(imgFile, flags=0)  # flags=0 读取为灰度图像
    # cv2.imshow("Demo1", img1)  # 在窗口显示图像
    # key = cv2.waitKey(0)  # 等待按键命令

    # 维数(ndim), 形状(shape), 元素总数(size), 元素类型(dtype)
    print("Ndim of img1(BGR): {}, img2(Gray): {}".format(img1.ndim, img2.ndim))  # number of rows, columns and channels
    print("Shape of img1(BGR): {}, img2(Gray): {}".format(img1.shape, img2.shape))  # number of rows, columns and channels
    print("Size of img1(BGR): {}, img2(Gray): {}".format(img1.size, img2.size))  # size = rows * columns * channels
    print("Dtype of img1(BGR): {}, img2(Gray): {}".format(img1.dtype, img2.dtype))  # uint8

本例程的运行结果如下:

Ndim of img1(BGR): 3, img2(Gray): 2
Shape of img1(BGR): (512, 512, 3), img2(Gray): (512, 512)
Size of img1(BGR): 786432, img2(Gray): 262144
Dtype of img1(BGR): uint8, img2(Gray): uint8

通过资源管理器查看彩色图像和灰度图像的属性如下图,彩色图像的位深度为 24,灰度图像的位深度为 8。

OpenCV 函数学习05-图像的属性

上一篇:jquery(2)


下一篇:pytorch transform 和 OpenCV及PIL转换