matlab-readraw
从Matlab中读取RAW相机图像,使用DCRAW
⚠️该项目已转移到Gitlabhttps://gitlab.com/astrophotography/matlab-readraw这个Github存储库将被停止。
这个类的使用可以归结为简单地创建对象。然后,您可以简单地使用imread而且imfinfo调用,RAW文件将神奇地得到处理。
例子:
在下面的例子中,我们只调用readraw一次,然后一切都结束了imread而且imfinfo就像处理其他图像格式一样。
readraw;即时通讯=imread('文件。生');exif=imfinfo('文件。生');...删除(readraw);
注:
注意:每个RAW文件将在初始RAW文件的相同位置被转换为16位TIFF文件。然后imread再次读取这个文件,以实际获得图像RGB通道。如果您已经创建了这些文件(对于6x4k图像,每个文件都是146 Mb),您可以删除它们,或者不需要转换就可以进一步访问它们。
支持的RAW相机图像格式包括:
原始文件格式 | 描述 |
---|---|
CRW, CR2 | 佳能数码相机RAW文件格式 |
NEF | 尼康数码相机RAW文件格式 |
羊痘疮 | 奥林巴斯数码相机RAW文件格式 |
英国皇家空军 | 富士数码相机RAW文件格式 |
RWL | 徕卡相机RAW文件格式 |
PEF, PTX | 宾得数码相机RAW文件格式 |
X3F | 西格玛数码相机RAW文件格式 |
Dcr kdc dc2 k25 | 柯达数码相机RAW文件格式 |
Srf, arw, mrw, MDC | 索尼/美能达数码相机RAW文件格式 |
生 | 松下,卡西欧,徕卡数码相机RAW文件格式 |
DNG (cs1, hdr) | adoberaw文件格式(数码底片) |
湾 | 卡西欧RAW(拜耳) |
小块土地 | 爱普生数码相机RAW文件格式 |
FFF | Imacon/哈苏RAW格式 |
金属氧化物半导体 | 图片来源: |
PXN | Fotoman生 |
RDC | 理光RAW格式 |
如果你想导入带有特定DCRAW选项的RAW文件,使用readraw类方法'imread',并将选项作为第三个参数,例如:
直流=readraw;即时通讯=imread(直流,'文件。生','-a -T -6 -n 100');
如果你想获得输出文件名和更多信息:
[即时通讯,信息,输出]=imread(直流,'文件。生','-T -4 -T 0 -v');
一些有用的DCRAW选项是:
- -T写一个TIFF文件,并复制元数据
- -w -T -6 -q 3使用相机白平衡,和最佳插值AHD
- -T -6使用自动白平衡
- -T -4使用原始数据,没有颜色缩放,也没有白平衡
- 打印元数据
- -z将生成的图像日期设置为相机的日期
- -n 100使用小波去除噪声
- -我们从相机或自动使用白平衡
- -t 0不翻转图像
导入的缺省DCRAW设置是'-T -4 -T 0 -v',以获取原始数据。
方法:
- readraw类实例化。没有参数。
- 编译检查DCRAW可用性或编译它
- 删除移除imformat中的readraw引用
- imread使用DCRAW读取RAW图像。允许更多选项
- imfinfo使用DCRAW读取RAW图像元数据
安装:
复制该目录并导航到它。然后在Matlab提示符中输入:
目录('path-to-readraw')readraw;
READRAW可以使用以下安装的任何工具:
- libraw(带有头文件/包含文件)
- libraw二进制工具(dcraw_emu, raw-identify, simple_dcraww, Win, Linux和MacOSX)
- dcraw(见也赢得构建, Linux和Win - executable在此项目中提供)
- exiv2(Win, Linux和MacOSX))
- metacam(Linux)
- exifprobe(Linux)
它应该在可执行搜索路径中。这些可以安装在类似Debian的系统上(Ubuntu, Mint, Debian…)
Sudo apt install dcraw lib -bin exiv2 metacam exifprobe library -dev Sudo ln -s /usr/lib/lib /dcraw_emu /usr/local/bin Sudo ln -s /usr/lib/lib /raw-identify /usr/local/bin
Mac OSX也有LibRAW和EXIV2包。请参考:
并确保它们在PATH中。
要使用libraw直接阅读器(它比其他的略快),你可能必须为你的系统编译MeX文件,运行:
cd path to readraw/private buildMexunpackRaw
它利用了E. Segre的杰出贡献。您需要一个有效的C编译器,由Matlab支持。如果此包装器不起作用,则使用编译(readraw dcraw)
使用其他RAW阅读器解决方案。
如果没有找到RAW阅读器,并且计算机上还没有安装DCRAW,那么您将需要一个C编译器。dcrw C源文件(READRAW提供的,私人
目录)将被构建和使用,如果还没有。
方法强制使用给定的RAW读取器编译方法,如。
编译(readraw);%检查可用的读取器编译(readraw,'编译');%强制编译例如unpackRaw和DCRAW编译(readraw,'dcraw_emu');%使用'dcraw_emu'作为读取器
在最后一个命令中,可以指定例如任意的dcraw_emu, dcrow, simple_dcrow, unpackRaw, libraw
.使用。
学分:
- DCRAW是一个很好的工具https://www.cybercom.net/~dcoffin/dcraw/
- 读取原始文件到MATLAB并显示它们http://www.rcsumner.net/raw_guide/
- RAW相机文件阅读器由布莱恩·怀特2016https://fr.mathworks.com/matlabcentral/fileexchange/7412-raw-camera-file-reader?focused=6779250&tab=function
- LibRaw墨西哥人https://fr.mathworks.com/matlabcentral/fileexchange/70985-matlab-unpackraw而且https://github.com/EastEriq/matlab-unpackRaw
许可:(c) E. Farhi, GPL2(2018)。https://gitlab.com/astrophotography/matlab-readraw/
引用作为
Emmanuel Farhi(2022年)。阅读RAW相机图像GitHub (https://github.com/farhi/matlab-readraw/releases/tag/21.08)。检索.