how to convert a cell array into an image?
Show older comments
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
Accepted Answer
More Answers (1)
Image Analyst
on 4 Oct 2014
Edited: Image Analyst
on 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 Comments
kanwal
on 5 Oct 2014
kanwal
on 5 Oct 2014
AS IA said, you will have to reshape that d into a 2D image, so you need to know the height and width of the image.
Now since, 75389 is a prime number, there's no way that it can be reshaped into a rectangle, so most likely, there is a header to the image. Do you know what that header is (or what the format of the image is)? If not, can you post the first few value of d (for example d(1:40))?
kanwal
on 5 Oct 2014
Guillaume
on 5 Oct 2014
Can you show the first few bytes d?
d(1:40)
kanwal
on 5 Oct 2014
Guillaume
on 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
on 6 Oct 2014
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!