有一组14位图像的数据,数据类型为float 32,如何将这组数据转换成14位图像,并显示出来
4条回答 默认 最新
- GameTomato 2023-03-22 15:02关注
这个问题的要点就是先读取包含14位图像数据的二进制文件,然后将数据转换为图像格式。Python中有个Pillow(PIL)库可以用来创建图像对象,并且将数据转换为图像格式。
代码示例如下:import struct from PIL import Image # 读取14位图像的数据 with open('data.bin', 'rb') as f: data = f.read() # 假设图像的宽度和高度 w = 100 h = 100 # 将数据转换为图像格式 img_data = [] for i in range(w*h): # 每个像素点占2个字节,数据类型为float32,所以每个像素点需要除以4 value = struct.unpack('f', data[i*4:(i+1)*4])[0] # 将像素值归一化到0-255之间,可以根据实际情况调整 value = int(value / (2**14-1) * 255) img_data.append(value) img = Image.new('L', (w, h)) img.putdata(img_data) img.show()
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
- ¥20 关于URL获取的参数,无法执行二选一查询
- ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
- ¥15 marlin编译错误,如何解决?
- ¥15 有偿四位数,节约算法和扫描算法
- ¥15 VUE项目怎么运行,系统打不开
- ¥50 pointpillars等目标检测算法怎么融合注意力机制
- ¥20 Vs code Mac系统 PHP Debug调试环境配置
- ¥60 大一项目课,微信小程序
- ¥15 求视频摘要youtube和ovp数据集