一般情况下,有python的三方库的软件,可以读RGB二进制的Raw数据,生成Numpy数据。比如说OpenCV之类的。但是,我们也可以使用python的裸代码,得到Numpy。


知识点:

  • numpy.frombuffer 将bytes格式转换为numpy ndarray
  • numpy.reshape 可以将一维的numpy数组转换成三维的数组
  • numpy.dstack 可以将三维的RBA数据扩充成RGBA 数据
  • numpy.concatenate 可以扩充到更高维度的numpy 数据

代码例子如下:

#!/usr/bin/env python
# encoding: utf-8
import os
import numpy as npdef read_raw_to_rgb(raw_path, width, height, channel):""" 读取raw数据转换成 RGB 的numpy 格式的数据 """assert os.path.exists(raw_path), r'输入的文件必须存在'raw_data = open(raw_path, 'rb').read()raw_data_shape = (width, height, channel)np_raw_data = np.frombuffer(raw_data, dtype=np.uint8)reshaped_data = np_raw_data.reshape(raw_data_shape)return reshaped_datadef convert_rgb_to_rgba(rgb_data, alpha):""" 将 RGB 数据扩充成 RGBA 的数据"""r = rgb_data[:, :, 0]g = rgb_data[:, :, 1]b = rgb_data[:, :, 2]a = np.zeros(r.shape, np.uint8)a[:, :] = alphargba_data = np.dstack((r, g, b, a))return rgba_datadef create_alpha_data_according_rgb_data(rgb_data, alpha):""" 根据rgb_data的维度创建alpha_data"""r = rgb_data[:, :, 0]a = np.zeros(r.shape, np.double)a[:, :] = alphareturn avr_path = r'D:\temp\result\vr_512_512.raw'sr_path = r'D:\temp\result\sr_512_512.raw'vr_rgb_data = read_raw_to_rgb(vr_path, 512, 512, 3)vr_alpha_data = create_alpha_data_according_rgb_data(vr_rgb_data, 0.1)sr_rgb_data = read_raw_to_rgb(sr_path, 512, 512, 3)sr_alpha_data = create_alpha_data_according_rgb_data(sr_rgb_data, 0.9)print(512*512*4)vr_rgb_data_image_idx = vr_rgb_data[np.newaxis, :, :, :]sr_rgb_data_image_idx = sr_rgb_data[np.newaxis, :, :, :]rgb_data_array = np.concatenate((vr_rgb_data_image_idx, sr_rgb_data_image_idx), axis=0)print(rgb_data_array.shape)vr_alpha_data_image_idx = vr_alpha_data[np.newaxis, :, :]sr_alpha_data_image_idx = sr_alpha_data[np.newaxis, :, :]alpha_data_array = np.concatenate((vr_alpha_data_image_idx, sr_alpha_data_image_idx), axis=0)print(alpha_data_array.shape)

测试环境中的图像,可以使用 OpenCV读取一张图, 将numpy保存到文件中。

python 读取 Raw文件 生成 Numpy 数组相关推荐

  1. 三维目标检测:(一)制作自己的ModelNet数据集(1.读取pcd文件为numpy数组)

    Python读取pcd文件为numpy数组 pcd文件的格式 读取pcd文件存储到numpy数组中 补充 pcd文件的格式 1.第二行:每行数据的内容 可能是(X Y Z R G B)或者(X Y Z ...

  2. python 读取csv文件生成散点图

    废话不说,直接上图形,如下: 代码如下: # -*- coding: utf-8 -*- ''' 使用python 绘制曲线图Author: yufuchang Date: 2021-05-12 '' ...

  3. python读取log文件生成图形表_python提取log文件内容并画出图表

    之前在excel里面分析log数据,简直日了*了. 现在用python在处理日志数据. 主要涉及 matplotlib,open和循环的使用. 日志内容大致如下 2016-10-21 21:07:59 ...

  4. python生成表格文件_python 读取excel文件生成sql文件实例详解

    python 读取excel文件生成sql文件实例详解 学了python这么久,总算是在工作中用到一次.这次是为了从excel文件中读取数据然后写入到数据库中.这个逻辑用java来写的话就太重了,所以 ...

  5. python读取csv某一列存入数组_python 读取.csv文件数据到数组(矩阵)的实例讲解

    利用numpy库 (缺点:有缺失值就无法读取) 读: import numpy my_matrix = numpy.loadtxt(open("1.csv","rb&qu ...

  6. python读取txt文件的行数_python读取txt文件符合条件的行数-女性时尚流行美容健康娱乐mv-ida网...

    女性时尚流行美容健康娱乐mv-ida网 mvida时尚娱乐网 首页 美容 护肤 化妆技巧 发型 服饰 健康 情感 美体 美食 娱乐 明星八卦 首页 > 高级搜索 python 关系网图 pyth ...

  7. python读取raw数据文件_在python下读取并展示raw格式的图片实例

    raw文件可能有些人没有,因此,先用一张图片创建一个raw格式的文件(其实可以是其他类型的格式文件) import numpy as np import cv2 img = cv2.imread('c ...

  8. python读取raw图片文件_在python下读取并展示raw格式的图片实例

    raw文件可能有些人没有,因此,先用一张图片创建一个raw格式的文件(其实可以是其他类型的格式文件) import numpy as np import cv2 img = cv2.imread('c ...

  9. python读取raw图片文件_python读取raw binary图片并提取统计信息的实例

    python读取raw binary图片并提取统计信息的实例 发布时间:2020-09-08 23:22:52 来源:脚本之家 阅读:66 用python语言读取二进制图片文件,并提取非零数据统计信息 ...

最新文章

  1. synchronized 与 Reentrant均为可重入锁 区别后者比前者增加了长时等待可中断 设置是否公平锁 绑定多个条件
  2. python编程视频-Python开发视频百度就得看这个!
  3. salesforce 零基础学习(四十二)简单文件上传下载
  4. 【Netty】Netty 入门案例分析 ( Netty 模型解析 | Netty 服务器端代码 | Netty 客户端代码 )
  5. Careers support for Masters students cambridge
  6. MyEclipse10.0
  7. unity怎么做水面_防水博士小课堂 | 什么是背水面防水? 背水面防水施工到底该怎么做?...
  8. 重磅!Python又第一了!网友:为什么找不到好工作?真相让人脸红…
  9. 点击select下拉框获取option的属性值
  10. 照片浏览器_照片审核不通过!这可能是史上最亏的中级失败理由!
  11. 浏览器插件及好用的小工具
  12. android 的android httpClient详解
  13. excel文件修复工具_免费的PDF转Word软件有哪些?各种文件格式转换工具推荐
  14. [Unity3D] [学习] Unity3D的官方文档
  15. 游戏项目开发的简单流程
  16. SqlServer配置身份验证登录教程
  17. 6.#闲谈|小编一手腾讯课堂送花脚本 javascript
  18. 小波系数等值线图和小波方差图绘制教学
  19. 【公开课】如何使用Arm-2D在小资源Cortex-M处理器芯片中实现图形界面?
  20. 手指和手势识别算法原理和解析

热门文章

  1. SuperMap杯全国高校GIS大赛-移动应用组学习资料
  2. echarts 地图去除点击事件_echarts 地图 鼠标移出地图后的事件要怎么写
  3. Sub1GHz layout 高频布线建议 -以A7129/A7139為例
  4. Java基础1:课程概述
  5. oracle9i连接12,12c使用DBLINK连接9i报ORA-03134
  6. Read Aloud: 文本语音朗读助理
  7. HDU-5542-The Battle of Chibi【树状数组+dp】
  8. 解决d3dx10_42.dll文件出错找不到
  9. java 数据结构查询,与处理
  10. 美图秀秀拼接渐变过渡_使用Granim.js创建漂亮的渐变过渡