Compression of Canon CR2 raw images in MATLAB ?

3 visualizaciones (últimos 30 días)
Steffen B. Petersen
Steffen B. Petersen el 4 de Mayo de 2019
Respondida: Bray Falls el 15 de En. de 2020
I am using my Canon 5D Mark IV to acquire images of star fields. Often in Astro photography the most interesting features have very low intensity compared to the noise level.
The noise level in RAW camera images should not be exposed to compression schemes. I enclose one image above, where the red channel of the image displayed (an astronomical image with a few high intensity stars) is a correct representation of what MATLAB displays - but clearly there is a problem with the lowest intensity levels of the image. It appears as if MATLAB is utilizing lossy compression scheme, which in the appeararance looks like JPEG compression.
I would like to know how to switch off the compression, if anybody knows.
Here is the code used to display the image in MATLAB
[myfile,mypath]=uigetfile({'*.cr2'});
>> mygray2=myim(:,:,1);
>> mytiny2=mygray2(2000:2500,3300:3800);
>> figure(3);
>> imshow(mytiny2,[10 30]);
Below is shown the same image - but processed with PIXINSIGHT - please note the noise background in this image - no lossy compression artefacts, no large square patches- a telltale of compression.
  9 comentarios
Steffen B. Petersen
Steffen B. Petersen el 2 de Jun. de 2019
Hi Walter
The problem is still not solved. I spoke to MATLAB and they state that their imread and imshow does not introduce compression. Also spoke to Canon support. They were not helpful at all - basically stating that their CR2 format was secret and they brushed me off, stating that I bought a normal consumer camera and I could not expect any special services.
The Canon 5D mark 4 camera produces beatiful images of size 30 MP - so I have plenty of resolution.
Reading the image header file, the CR2 file appear to consist of 4 TIFF files of different sizes and compression codes. One TIFF file seem to be empty, size is 0 - and maybe this is where to dig for the real raw data.
Walter Roberson
Walter Roberson el 3 de Jun. de 2019
Try adding an index to the imread call. Beyond that I would try with Tiff()

Iniciar sesión para comentar.

Respuestas (1)

Bray Falls
Bray Falls el 15 de En. de 2020
For sanity purposes I'm letting you know I also experience severe compression effects when loading CR2 files into MATLAB. I am processing solar eclipse images, and after filtering the images they are full of square tiles and other artifacts. Converting to .tiff in pixinsight is fine but I'd like to read the raw file directly.

Categorías

Más información sobre Image Segmentation and Analysis en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by