小丫么小二郎儿 2023-03-22 14:40 采纳率: 42.9%
浏览 44
已结题

python+14位图像显示

有一组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()
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 3月31日
  • 已采纳回答 3月23日
  • 创建了问题 3月22日

悬赏问题

  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 划分vlan后不通了
  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大