python批量转换bmp图片为bin文件

该Python代码段用于将BMP图像文件转换为BIN格式。它读取BMP文件的头信息,解析关键数据如文件大小、宽度、高度和位深度,然后将位图数据部分写入新的BIN文件。脚本还遍历指定目录下的所有BMP文件并自动执行转换。
摘要由CSDN通过智能技术生成

import os

def bmp_to_bin(bmp_file, bin_file):
    with open(bmp_file, 'rb') as bmp:
        # 读取BMP文件数据
        bmp_data = bmp.read()
    with open(bmp_file, 'rb') as bmp_file:
        # 读取BMP文件头信息
        bmp_header = bmp_file.read(54)

    # 解析BMP文件头数据
    bmp_header_data = {
        'file_size': int.from_bytes(bmp_header[2:6], byteorder='little'),
        'width': int.from_bytes(bmp_header[18:22], byteorder='little'),
        'height': int.from_bytes(bmp_header[22:26], byteorder='little'),
        'bpp': int.from_bytes(bmp_header[28:30], byteorder='little')
    }
    print(bmp_header_data)
    
    # 提取位图数据部分
    start_offset = bmp_data[10] + 14
    bmp_data = bmp_data[start_offset:]

    # 将数据写入二进制文件
    with open(bin_file, 'wb') as binary:
        binary.write(bmp_data)
        
# 获取BMP文件目录
bmp_dir = 'G:/company_project/nrf52832_smart_wristBand/python_bmp_to_bin/'

# 遍历文件目录下所有BMP文件并进行转换
for filename in os.listdir(bmp_dir):
    if filename.endswith('.bmp'):
        # 构造二进制文件名
        bin_filename = os.path.splitext(filename)[0] + '.bin'

        # 转换BMP文件为BIN格式
        bmp_to_bin(os.path.join(bmp_dir, filename), os.path.join(bmp_dir, bin_filename))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全职编程-叶逆天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值