MATLAB Answers


Reading camera raw file

Asked by tam
on 27 Apr 2013


I am trying to import camera raw file in the Matlab and do further processing.

I read the article below and successfully convert the DNG file.

After that,I applied the code below to the file,as the article mentioned.

    info = imfinfo('books.dng')
    warning off MATLAB:tifflib:TIFFReadDirectory:libraryWarning
    t = Tiff('books.dng','r');
    offsets = getTag(t,'SubIFD');
    cfa = read(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


on 27 Apr 2013

So your file is also called books.dng right? Then what is the output of imfinfo('books.dng')?

on 5 Jul 2013

Thanks for viewing, Thomas Stone's answer solve the problem



No products are associated with this question.

1 Answer

Answer by Thomas Stone
on 5 Jul 2013
 Accepted 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.

  1 Comment

on 5 Jul 2013

Thanks!!! I successfully crack the file to bayer array. Now I can buy a super zoom DC and use Matlab to process its image, try to beat photo from DSLR on rookie's hand. Very thanks!

Join the 15-year community celebration.

Play games and win prizes!

Learn more
Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!