公司项目有需要,研究安卓手机拍摄RAW图像的方法,并且使用Matlab提取图像数据。

手机拍摄RAW图像

(1)选择荣耀HONOR 20作为拍摄手机

(2)设置为“专业”拍照模式

(3)点击右上角的齿轮,设置保存格式为RAW

(4)选择好场景后,拍摄图片,手机会同时保存RAW格式和JPG格式的图像。

Matlab提取数据

(1)拷贝RAW图到电脑,路径:HONOR 20\内部存储\DCIM\Camera\RAW\

(2)确定图片的分辨率:UltraEdit打开拍摄的DNG图片,查看分辨率为8000x6000

(3)编写数据提取程序

clc
clear
close allimage_cols = 8000;  % image width
image_rows = 6000;  % image height
bits_raw   = 10;    % bit length of raw data
bits_bmp   = 8 ;    % bit length of bmp data% open file
file_id    = fopen('00.dng');
file_data  = fread(file_id);
fclose(file_id);% extract image data
image_size = image_rows * image_cols;
file_data  = file_data(end - image_size * 2 + 1 : end);% merge data
image_low  = file_data(1:2:end);  % low  8 bit
image_high = file_data(2:2:end);  % high 2 bit
image_bmp  = bitshift(image_high,8) + image_low;% vector --> matrix
image_bmp  = bitshift(image_bmp , bits_bmp - bits_raw);
image_bmp  = reshape(image_bmp,[image_cols,image_rows]);
image_bmp  = image_bmp';
image_bmp  = int32(image_bmp);
image_bmp  = repmat(image_bmp,[1,1,3]);% save image
image_bmp = uint8(image_bmp);
imwrite(image_bmp , '00.bmp');

(4)提取出来的数据排列为图片,图片是灰度图。

PS:

经过demosaic后才能成为彩色图,但是颜色不正常,说明RAW图像没有经过AWB处理。

RAW图像:安卓手机拍摄 Matlab数据读取相关推荐

  1. matlab中读入sav,matlab数据读取与存入详解

    matlab数据读取与存入详解 在编写一个程序时,经常需要从外部读入数据,或者将程序运行的结果保存为文件.MATLAB使用多种格式打开和保存数据.本章将要介绍 MATLAB中文件的读写和数据的导入导出 ...

  2. RAW图像:手机拍摄DNG格式,分辨率是多少?

    Matlab提取DNG图像数据时,需要知道图像的分辨率,应该如何做呢? 我尝试了三种方法: (1)手机打开对应的图像,查看分辨率 --> 华为P30:成功,荣耀20:错误 (2)PhotoSho ...

  3. matlab图像转为灰度,matlab怎么读取一幅图像,并转换为灰度图像

    matlab 用rgb2gray 将彩色图像转换为灰度图像 >> I=imread('D:\Lena.jpg'); >> x=rgb2gray(I); >> fig ...

  4. python读取文档中有很多指标的数据 写成矩阵_图像处理与特征提取 —— 从 MATLAB 到 Python(一)图像、矩阵与数据的读写...

    最近几个实验从 MATLAB 环境转入到 Python 环境做,踩了几个小坑,记录一下. 写一半发现太长,分开几篇写,计划如下:基本图像处理 特征提取 分类 距离.度量.评价指标与效果评估,及相关绘图 ...

  5. 【MATLAB】读取序列图像raw文件并求序列均值

    读取序列图像raw文件并求序列均值 读取16位raw图像,图像大小为640*512,也可自行调整. matlab代码如下: %% 初始化 foldname='C:\Users\admin\Deskto ...

  6. RAW图像详解及使用Python读取raw格式图像并显示

    一.RAW图像详解 1.1 什么是raw格式图像? RAW在英文中的解释是未处理的.自然状态的,这也就是RAW文件的真谛.RAW图像就是CMOS或者CCD图像感应器将捕捉到 的光源信号转化为数字信号的 ...

  7. matlab批量读取图像图片并批量处理图像(以伽马校正为例)以及批量保存图像

    文章目录 处理1张图片,获取4幅不同伽马校正图像 批量读取图片模板 批量处理多张图片,分别获取4幅伽马校正图像 参考 处理1张图片,获取4幅不同伽马校正图像 实验结果 实验代码 get_4_pictu ...

  8. matlab的各种数据读取(txt,dat,mat等格式)

    MATLAB提供了多种方式从磁盘读入文件或将数据输入到工作空间,即读取数据,又叫导入数据:将工作空间的变量存储到磁盘文件中称为存写数据,又叫导出数据.至于选择哪种机制,则根据下面两个因素决定: ● 用 ...

  9. matlab打开dat形式文件_matlab的各种数据读取(txt,dat,mat等格式),文件打开关闭...

    MATLAB提供了多种方式从磁盘读入文件或将数据输入到工作空间,即读取数据,又叫导入数据:将工作空间的变量存储到磁盘文件中称为存写数据,又叫导出数据.至于选择哪种机制,则根据下面两个因素决定: ● 用 ...

最新文章

  1. cf-Sasha and Array
  2. 文巾解题 1711. 大餐计数
  3. Caffe代码导读(4):数据集准备
  4. OpenShift Rancher 进行持续集成
  5. PC微信逆向:分析@群成员call
  6. python的所有数据类型都可以相互转化吗_Python中如何进行数据类型转换?
  7. ajax中的同步异步
  8. matlab padarray函数详解
  9. (转) Spring 3 报org.aopalliance.intercept.MethodInterceptor问题解决方法
  10. 平台系统云服务器配置,01-云平台连接配置
  11. 《新浪微博用户兴趣建模系统架构》阅读笔记
  12. 按timestamp查询_04. 复杂查询
  13. 组态王与松下PLC FP系列连接
  14. msvcr71.dll缺失导致Oracle无法连接
  15. 呼伦贝尔草原行(5日自由行)
  16. Parallel Scavenge垃圾回收器线上调优实战
  17. 数据分析之excel和finebi报表可视化对比
  18. 机器学习数据预处理之离群值/异常值:标准差法
  19. 高鸿业西方经济学微观部分第7版笔记
  20. WinInet编程中如何使用异步

热门文章

  1. oracle erp 重置密码,ORACLE ERP修改密码的方法
  2. asp.net日历控件
  3. Pacemaker,Corosync和PCS搭建高可用性负载均衡linux 集群(httpd)
  4. 第五次网页前端培训(JS)
  5. HDU 2046 骨牌铺方格【递推】
  6. 瘦客户端与胖客户端的理解
  7. docker(ubuntu)中安装cron运行crontab定时任务
  8. 幼儿园计算机教育培训,幼儿园教育教师计算机学习培训计划.doc
  9. 用python实现webshark(实现web版的wireshark功能)
  10. java 开源微信电商项目