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