MATLAB: Reading camera raw file

raw image

Hi!
I am trying to import camera raw file in the Matlab and do further processing.
After that,I applied the code below to the file,as the article mentioned.
info = imfinfo('books.dng')
info.SubIFDs{1}
warning off MATLAB:tifflib:TIFFReadDirectory:libraryWarning
t = Tiff('books.dng','r');
offsets = getTag(t,'SubIFD');
setSubDirectory(t,offsets(1));
cfa = read(t);
close(t);
The warning below is come out and the 'cfa'file contain nothing.
Warning: JPEGLib: Must downscale data from 16 bits to 8.
Warning: JPEGPreDecode: Improper JPEG strip/tile size, expected 256x256, got 128x256.
I tried raw file from Nikon D40x and Sony Nex-3, also cannot get any improve.
What is the problem?
Thank you.
Andrew Tam

Best Answer

I had the same problem, but fixed by making sure the image was uncompressed. If you are using Adobe DNG converter make sure the "compatibility" is set to custom, with "Uncompressed" ticked.