OpenCV常用操作之常用函数

img.size

获取图片的大小的方法,结合print命令的用法:

print(img.size)

得到的结果是一个 int 类型的数值:

案例1:

img = cv2.imread('./img/dog.jpeg', 1)
print(img.size)

得到的结果是:

6912000

案例2

img = cv2.imread('./img/dog.jpeg', 0)
print(img.size)

得到的结果是:

2304000

同一张图片,用彩色的方式读取,得到的图片大小是 6912000 ,用黑白的方式读取,得到的图片大小是 2304000 。

彩色图片的size计算公式:高 * 宽 * 3

这里的 3 指的是彩色图片有B、G、R三个通道

例如上面的图片 高 1200 个像素,宽 1920 个像素,size就是:1200 * 1920 * 3 = 6912000

6912000并不是指图片占磁盘的大小,要换算成占磁盘的大小要按照如下的公式:

1200 * 1920 * 3 * 8bit = 55296000bit = 55296000 / 1024 = 54000k = 54000 / 1024 = 52.73M

因为彩色图片BGR对应有3个通道 B(0~255)、G(0~255)、R(0~255),每个通道都占8个bit(256 = 28),因此彩色图片三个通道每个像素就有 8 * 3 = 24bit 。

黑白图片的size计算公式:高 * 宽

例如上面的图片 高 1200 个像素,宽 1920 个像素,size就是:1200 * 1920 = 2304000

换算成占磁盘的大小按照如下的公式:

1200 * 1920 * 8bit = 18432000bit = 18432000 / 1024 = 18000k = 18000 / 1024 = 17.58M

因为黑白图片只有1个通道(0~255),这个通道也占8个bit (256 = 28),因此黑白图片每个像素的大小就是8bit。

img.dtype

查询图片像素的数据类型,结合print命令的用法:

print(img.dtype)

得到的结果

uint8

uint8指的是8位无符号整型

原创文章,作者:朋远方,如若转载,请注明出处:https://caovan.com/opencvchangyongcaozuozhichangyonghanshu/.html

Like (0)
Donate 微信扫一扫 微信扫一扫
朋远方的头像朋远方
Previous 2022年9月8日 上午12:25
Next 2022年9月8日 下午12:55

相关推荐

发表回复

Please Login to Comment