使用相机拍摄的RAW图像,往往带有厂商自定义的文件头,而我只想获取到文件图像部分的原始Bayer数据,然后自己进行去噪、去马赛克、白平衡等ISP算法。

示例:获取索尼相机拍摄的.ARW文件中的原始图像数据。以下代码同样适用于其他类型相机拍摄的RAW图,如佳能的.CR2文件。

import rawpyopenpath = "D:\\IMG\\RAWSample\\Img.ARW";
savepath = 'D:\\IMG\\RAWSample\\Bayer.raw';with rawpy.imread(openpath) as raw:bayer_visible = raw.raw_image_visible;width = bayer_visible.shape[0];height = bayer_visible.shape[1];

将读取到的RAW原始数据打印出来,可以知道原始数据图像的宽和高,打印出原始数据的二维矩阵可以知道图像的位深度。

print(bayer_visible.shape)
print(bayer_visible)

将二维整型数组转换为字节流,每两个字节存储一个整型数据,低位在前,高位在后。

with open(savepath, 'wb') as f:for x in range(0,width):for y in range(0,height):data = int(bayer_visible[x][y]);f.write(data.to_bytes(2, byteorder='little'));

得到的RAW文件格式为:宽度6024,高度4024,深度:12位,颜色滤波阵列为RGGB。

文件所在链接:https://pan.baidu.com/s/1Jgkg0Uqh7Bvw6avcbpQb2Q 
提取码:p0wx

Img.ARW图像效果:

Bayer.raw经去马赛克后的效果:

要得到上面图像的效果,还需要白平衡,色彩矩阵校正,伽玛校正等过程,这里就先这样吧,原始数据已经到手了。

Python使用rawpy获取相机图像的原始RAW数据相关推荐

  1. Python 把OpenCV 获取的图像传递到C

    Python 把OpenCV 获取的图像传递到C 2016年10月11日 14:47:49 阅读数:1946 用OpenCV Python来开发,如果想要用到一些C/C++的图像处理库,就需要创建Py ...

  2. argb888与rgb888转换程序_通过相机获取bayer 图像数据转换成RGB888数据并保存

    #include #include#include#include#include#include#include#include#include#include#include#include /* ...

  3. Python通过蓝牙获取米家温湿度计2的数据

    引言 最近入手了一个米家温湿度计2,今天介绍一下如何使用Python获取它的数据. 实验过程 我们使用到了python的bluepy模块,用以连接蓝牙设备. 温度.湿度和电压数据获得 我们可以直接通过 ...

  4. python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)

    python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码 一.前言 今天的低价单孔摄像机(照相机)会给图像带来很多畸变.畸变主要有两 种:径向畸变和切想畸变.如下图所示,用 ...

  5. 灰点相机SDK研究(壹)-使用Python多线程读取灰点相机图像

    Python-OpenCV使用多线程实现依次以高分辨率读取摄像头 1.配置环境 2.任务要求 3.技术难点 4.技术流程 5.代码实现 6.结束语 1.配置环境 使用环境:python3.7 平台:W ...

  6. python中matplotlib自定义设置图像标题使用的字体类型:获取默认的字体族及字体族中对应的字体、自定义设置图像标题使用的字体类型

    python中matplotlib自定义设置图像标题使用的字体类型:获取默认的字体族及字体族中对应的字体.自定义设置图像标题使用的字体类型 目录

  7. 如何把OpenCV Python获取的图像传递到C层处理

    原文:https://blog.csdn.net/yushulx/article/details/52788051 用OpenCV Python来开发,如果想要用到一些C/C++的图像处理库,就需要创 ...

  8. 使用Python,OpenCV获取、更改像素,修改图像通道,剪裁ROI

    使用Python,OpenCV获取.更改像素,修改图像通道,剪裁ROI 1. 效果图 2. 源码 参考 这篇博客将介绍使用Python,OpenCV获取.更改像素,修改图像通道,截取图像感兴趣ROI: ...

  9. 【Python】定时获取卫星地球图像作为电脑壁纸

    虽然网上关于这个的教程不少,但是写在这里,就当作自己的学习记录吧. 开发工具:Python 3.7 环境:win10 图像来源:日本himawari-8气象卫星官网 思路:利用爬虫从官网抓取图像,然后 ...

最新文章

  1. 我的随笔之三——今年过年快乐吗?
  2. mysql 的默认数据库mysql为什么在 workbench下看不到?
  3. 中 找多个平面_数学一轮复习30,平面向量的概念及线性运算,三个常用结论
  4. boost::json模块实现远程过程调用的测试程序
  5. Qt Creator连接MCU
  6. python import 路径_Python 从相对路径下import的方法
  7. 智能机器人领域有什么好书推荐的?
  8. 【转】了解SQL Server触发器及触发器中的事务
  9. scala文件通过本地命令运行
  10. 多标签图像分类任务的评价方法——mAP
  11. 成大事必备9种能力.9种手段.9种心态
  12. 如何制作优秀的PPT
  13. SuperView和View的区别
  14. 费纳姆密码-二进制密码
  15. 2021最新 RocketMQ面试题精选(附刷题小程序)
  16. Esper学习之十:EPL语法(六)
  17. No.20-基础-渗透学习
  18. python3打造一款游戏辅助软件
  19. 安川伺服驱动器usb驱动_不受信任的USB驱动器有哪些危害?
  20. 推荐几款pdf文件转Excel表格转换器 注册码

热门文章

  1. 如何将支付宝小程序迁移至微信/FinClip运行
  2. 一道逻辑题 房间里有100盏电灯
  3. win10打字反应慢处理
  4. Geany无法识别中文怎么办
  5. 现代操作系统学习笔记三、死锁
  6. TensorFlow-gpu使用方法
  7. c语言计算机图形来画八分画圆,计算机图形学:中点画圆算法
  8. 你的生存模式正确吗?
  9. 原创,PHP简单的查询火车时刻表程序
  10. 宽带和流量是分开的吗_带宽与宽带的区别。