Reading CR2 (Canon RAW) images into MATLAB

44 views (last 30 days)
msij
msij on 24 Mar 2017
Hi,
I was wondering if anyone could help me to read in some CR2 images into MATLAB?
I have tried just using imread but it just reads the image as an 8 bit. I can used Adobe's DNG converter as people have suggested but would rather have the whole code automated. Other questions like this are a few years old so was hoping some people had new suggestions.
Thanks!

Answers (1)

Arvind Narayanan
Arvind Narayanan on 28 Mar 2017
It is possible to read CR2 data into MATLAB with the normal workflow for reading images. You can try the following sample code snippet:
A=imread('sample.CR2');
imshow(A);
imwrite(A,'filename.jpg');
  1 Comment
Steffen B. Petersen
Steffen B. Petersen on 4 May 2019
The code below is essentially what Arvind proposes :
the red channel of the image displayed (an astronomical image with a few high intensity stars) is a correct representation of what MATLABN displayes - but clearly there is a problem with the lowest intensity levels of the image. It appears as if MATLAB is utilizing lossy compression schemes, which in apprearance looks like JPEG compression.
I would like to know how to swicth off the compression, if anybody knows.matlab_cr2.jpg
[myfile,mypath]=uigetfile({'*.cr2'});
>> mygray2=myim(:,:,1);
>> mytiny2=mygray2(2000:2500,3300:3800);
>> figure(3);
>> imshow(mytiny2,[10 30]);

Sign in to comment.

Categories

Find more on Convert Image Type in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!