Effacer les filtres
Effacer les filtres

how to convert a cell array into an image?

10 vues (au cours des 30 derniers jours)
kanwal
kanwal le 4 Oct 2014
I fetched an image from sql database but its returning format is like i=[75839 int8] how can i convert it into image plz help me out

Réponse acceptée

Guillaume
Guillaume le 5 Oct 2014
If the bytes you get are truly a jpg image, you may be able to decode it with java:
jimage = javax.imageio.ImageIO.read(java.io.ByteArrayInputStream(d));
height = jimage.getHeight;
width = jimage.getWidth;
pixels = reshape(typecast(jimage.getData.getDataStorage, 'uint8'), [3,width,height]);
img = cat(3, ...
transpose(reshape(pixels(3,:,:), [width,height])), ...
transpose(reshape(pixels(2,:,:), [width,height])), ...
transpose(reshape(pixels(1,:,:), [width,height])));
  12 commentaires
kanwal
kanwal le 7 Oct 2014
thank u so much its working.
jumana eltrabelsi
jumana eltrabelsi le 14 Avr 2022
Thank you allot, Its work for me too

Connectez-vous pour commenter.

Plus de réponses (1)

Image Analyst
Image Analyst le 4 Oct 2014
Modifié(e) : Image Analyst le 4 Oct 2014
You need to take the (badly-named) i and reshape it into a 2 or 3D array, but you need to know the number of rows and columns.
cellContents = cell2mat(i); % Convert from cell to double.
grayImage = reshape(cellContents, [rows, columns]);
imshow(grayImage, []);
  8 commentaires
Guillaume
Guillaume le 5 Oct 2014
Your image is a png image, not a jpeg. The code I posted in my answer, with the typecast fix, should decode it.
kanwal
kanwal le 6 Oct 2014
yeah u r right it was png. but its not decoding

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by