我正在尝试查找位图图像的高度和宽度,我环顾了网络,但没有找到任何答案[重复]

Posted

技术标签:

【中文标题】我正在尝试查找位图图像的高度和宽度,我环顾了网络,但没有找到任何答案[重复]【英文标题】:I'm trying to find the height and width of a bitmap image,I've looked around the net but I haven't found any answers [duplicate] 【发布时间】:2020-10-07 18:04:26 【问题描述】:

一般来说,找到位图高度和宽度的方法是什么?

这是我走了多远:

file = open("image.bmp","rb")
header = np.fromfile(file,dtype=np.uint8,count=54)

问题是我不知道如何进行。我曾尝试将某些位相乘,但无济于事。

我也想知道是否有人会慷慨。如何找到图像的 RBG?

【问题讨论】:

欢迎来到 SO。这不是讨论论坛或教程。请使用tour 并花时间阅读How to Ask 以及该页面上的其他链接。 【参考方案1】:

所以在位图图像中,根据***,宽度和高度分别存储在偏移量 18 和 22 处,作为有符号整数。

打开位图文件后,您需要将其转换为字节数组,稍后可以通过偏移量读取。

with open("test.bmp", "rb") as f:
    data = bytearray(f.read())

Python 标准库中的 struct 模块可用于在字节数组的偏移处获取数据,因此获取信息的快速方法可能类似于:

import struct
with open("test.bmp", "rb") as f:
    data = bytearray(f.read())

# '<' means "Little-Endian"
# 'i' means int. Check the "format" table on https://docs.python.org/3/library/struct.html
width = struct.unpack_from('<i', data, 18)
height = struct.unpack_from('<i', data, 22)

print("Width: , Height: ".format(width, height))

【讨论】:

我确实有另一个解决方案,但问题是我对此并不满意:

以上是关于我正在尝试查找位图图像的高度和宽度,我环顾了网络,但没有找到任何答案[重复]的主要内容,如果未能解决你的问题,请参考以下文章

将位图裁剪为特定的宽度和高度,而不会丢失分辨率

WebGL - 发送数组缓冲区 VS 将图像/画布/位图从 CPU 发送到 GPU

将位图图像裁剪为自定义正方形

我正在尝试使图像可拖动,但是每当我调整高度和宽度时,它就会停止工作

缩放位图保持纵横比

创建位图时,宽度和高度必须 > 0