Filter löschen
Filter löschen

how to convert a cell array into an image?

9 Ansichten (letzte 30 Tage)
kanwal
kanwal am 4 Okt. 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

Akzeptierte Antwort

Guillaume
Guillaume am 5 Okt. 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 Kommentare
kanwal
kanwal am 7 Okt. 2014
thank u so much its working.
jumana eltrabelsi
jumana eltrabelsi am 14 Apr. 2022
Thank you allot, Its work for me too

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Image Analyst
Image Analyst am 4 Okt. 2014
Bearbeitet: Image Analyst am 4 Okt. 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 Kommentare
Guillaume
Guillaume am 5 Okt. 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 am 6 Okt. 2014
yeah u r right it was png. but its not decoding

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Convert Image Type finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by