我按照 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图像的拜耳数组?提前感谢!
这个问题的当前答案是您应该将 DNG 图像的向后版本更改为 1.3 而不是 1.4,并在 Adobe DNG Converter 中打开"未压缩"选项,或者在命令行中使用-dng1.3 -u
,然后就可以正常读取 cfa 数组。