how to convert a cell array into an image?
显示 更早的评论
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
采纳的回答
更多回答(1 个)
Image Analyst
2014-10-4
编辑:Image Analyst
2014-10-4
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 个评论
kanwal
2014-10-5
kanwal
2014-10-5
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
2014-10-5
Guillaume
2014-10-5
Can you show the first few bytes d?
d(1:40)
kanwal
2014-10-5
Guillaume
2014-10-5
Your image is a png image, not a jpeg. The code I posted in my answer, with the typecast fix, should decode it.
kanwal
2014-10-6
类别
在 帮助中心 和 File Exchange 中查找有关 Convert Image Type 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!