Problem with imwrite a color image

15 visualizaciones (últimos 30 días)
Angela
Angela el 14 de Ag. de 2018
Comentada: Angela el 16 de Ag. de 2018
I am trying to save the output color image of a program as a jpg or png file. I have tried
outfile='image.jpg'
imwrite(im2uint16(Image),outfile,'BitDepth',12,'Mode','lossless','Quality',100)
When i tried to open this using Gimp or ImageMagick , the image could not open, it was not recognized. Can anyone suggest the right way to save a color image as a jpg using imwrite? Thank you.
  4 comentarios
Image Analyst
Image Analyst el 14 de Ag. de 2018
I don't think you tried my code below, which DOES work.
Angela
Angela el 14 de Ag. de 2018
Thank you for your answer. Please see below my comment underneath your answer. Although the code you suggested works and saves an image as an jp2, what i want is an image saved as jpg (or png) because jp2 images can not be opened by ImageMagick or Gimp.Thank you.

Iniciar sesión para comentar.

Respuesta aceptada

Image Analyst
Image Analyst el 14 de Ag. de 2018
Photoshop doesn't recognize it either. But this works:
rgbImage = imread('peppers.png');
outfile='image.jp2' % JPEG 2000
imwrite(im2uint16(rgbImage),outfile,'Mode','lossless')
And I'd recommend you use PNG rather than JPG or JPEG2000 (jp2).
PNG has pretty much become the widespread de facto standard.
  8 comentarios
Walter Roberson
Walter Roberson el 15 de Ag. de 2018
Editada: Walter Roberson el 15 de Ag. de 2018
writejpg>set_jpeg_props would never be called for file extension .png .
If you go the dual-file route, then
imwrite(im2uint16(rgbImage), 'newimage.png'); %for archive quality
imwrite(im2uint8(rgbImage), 'newimage.jpg'); %for quick access that is not archive quality
Angela
Angela el 16 de Ag. de 2018
Thank you. The png worked but unfortunately the jpg still needed the bitdepth. I tried to use the 'Quality' switch but it also did not seem to have saved a smaller image. So for now i went the dual route with png and a jpg with a 'lossy' option.

Iniciar sesión para comentar.

Más respuestas (1)

Walter Roberson
Walter Roberson el 14 de Ag. de 2018
JPEG does not support 16 bit images. Some JPEG libraries support 12 bit images.
JPEG XR supports 16 bit images, but MATLAB does not support JPEG XR.
  8 comentarios
Walter Roberson
Walter Roberson el 16 de Ag. de 2018
.. So write two copies of the image like I suggested, one archive quality and the other reduced bit depth for speed.
Angela
Angela el 16 de Ag. de 2018
Thank you for your help Walter Roberson, that is what i ended up doing.

Iniciar sesión para comentar.

Categorías

Más información sobre Images en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by