首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >『OpenCV-Python』获取图片的基本参数信息

『OpenCV-Python』获取图片的基本参数信息

作者头像
德育处主任
发布2026-07-02 08:23:49
发布2026-07-02 08:23:49
200
举报

点赞 + 关注 + 收藏 = 学会了

推荐 《OpenCV-Python专栏》

在图像处理领域,了解图像的基本信息是必不可少的第一步。

之前已经使用 cv2.imread() 方法将图片读取出来了。我们还可以使用 OpenCV 提供的一些方法去读取图片的尺寸、通道数、图片像素总数等信息。

获取图片宽高和通道数

通过 shape 属性可以直接获取图像的维度信息。

代码语言:javascript
复制
import cv2

# 读取图片
img = cv2.imread('德育处主任.jpeg')

# 获取图片的宽、高和通道数
height, width, channels = img.shape
print(f'图片高度: {height}')
print(f'图片宽度: {width}') 
print(f'图片通道数: {channels}')

我读取的是一张 1280x1280 的彩色图像。运行代码后,在终端会输出以下内容。

代码语言:javascript
复制
图片高度: 1280
图片宽度: 1280
图片通道数: 3

注意:如果图片是灰度图,shape 只有两个值(高度和宽度),没有通道数。

处理灰度图的情况:

代码语言:javascript
复制
# 检查是否为灰度图
if len(image.shape) == 2:
    height, width = image.shape
    print("这是灰度图")
else:
    height, width, channels = image.shape
    print("这是彩色图")

获取像素数据类型

图片的每个像素都有一个数据类型,常见的数据类型包括 uint8(0-255)。可以通过 Numpy 的 dtype 属性获取。

代码语言:javascript
复制
# 获取数据类型
pixel_dtype = img.dtype
print(f"像素数据类型:{pixel_dtype}")

我的示例图片是 uint8,所以输出的结果是:

代码语言:javascript
复制
像素数据类型:uint8

计算图片大小(总像素数)

通过宽度、高度和通道数,可以计算图片的大小。用到的属性是 size

代码语言:javascript
复制
# 计算总像素数
total_pixels = img.size
print(f"图片的总像素数:{total_pixels}")

我的示例图是 1280x1280 的彩色图,每个像素有3个通道。所以上面这段代码在终端会输出:

代码语言:javascript
复制
图片的总像素数:4915200

1280 x 1280 x 3 = 4,915,200

如果需要计算单个通道的大小,只需用图片的 长 x 宽 即可。


微信图片_20211120101742.gif
微信图片_20211120101742.gif

点赞 + 关注 + 收藏 = 学会了

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-11-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 获取图片宽高和通道数
  • 获取像素数据类型
  • 计算图片大小(总像素数)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档