在Matlab中读取DNG图像的CFA会生成全零图像

时间:2018-10-21 15:05:14

标签: matlab dng

我以提到的https://blogs.mathworks.com/steve/2011/03/08/tips-for-reading-a-camera-raw-file-into-matlab/编写了matlab代码,以读取我的DNG文件的滤色器阵列,代码如下:

Info=imfinfo('xxx.dng');
tiffHandle=Tiff(('xxx.dng'),'r');
offsets=TiffHandle.getTag('SubIFD');
setSubDirectory(TiffHandle,offsets(1));
CFA=double(read(TiffHandle));

生成的CFA是全零矩阵,绘制为纯黑色图像。我想知道如何解决此问题并读取DNG图像的拜耳数组?预先感谢!

1 个答案:

答案 0 :(得分:0)

此问题的当前答案是,您应该将DNG图片的向后版本更改为1.3,而不是1.4,并在Adobe DNG Converter中打开“未压缩”选项,或者在命令行中使用-dng1.3 -u,然后cfa数组可以正常读取。