i am trying to look at the ouput of .mat file so i loaded the ,mat in current folder
a = load('GT_IMG_1.mat');
imshow(a)
but i am getting the following error, can some one help me with this
Error using imageDisplayValidateParams
Expected input number 1, I, to be one of these types:
double, single, uint8, uint16, uint32, uint64, int8, int16, int32, int64, logical
Instead its type was struct
Error in images.internal.imageDisplayParseInputs (line 78)
common_args = images.internal.imageDisplayValidateParams(common_args);
Error in imshow (line 222)
images.internal.imageDisplayParseInputs({'Parent','Border','Reduce'},preparsed_varargin{:});

 Accepted Answer

Ameer Hamza
Ameer Hamza on 17 Apr 2020
Edited: Ameer Hamza on 17 Apr 2020
load() function returns a struct: https://www.mathworks.com/help/matlab/ref/load.html. The struct has field names, the same as the variable names inside the .mat file. You can see the name of fields
a = load('GT_IMG_1.mat');
fieldnames(a)
and then use imshow on the field containing the image data
imshow(a.ImageVariableName) % ImageVariableName is the name of the field inside a

13 Comments

sri harsha
sri harsha on 17 Apr 2020
Edited: sri harsha on 17 Apr 2020
i got the variable is having an cell , so could you tell me how to access it
and i got the following error
a = load('GT_IMG_1.mat');
fieldnames(a)
ans =
'image-info'
>> imshow(a.image_info);
Error using imageDisplayValidateParams
Expected input number 1, I, to be one of these types:
double, single, uint8, uint16, uint32, uint64, int8, int16, int32, int64, logical
Instead its type was cell.
Error in images.internal.imageDisplayValidateParams (line 11)
validateattributes(common_args.CData, {'numeric','logical'},...
Error in images.internal.imageDisplayParseInputs (line 78)
common_args = images.internal.imageDisplayValidateParams(common_args);
Error in imshow (line 222)
images.internal.imageDisplayParseInputs({'Parent','Border','Reduce'},preparsed_varargin{:});
Can you attach the .mat file "GT_IMG_1.mat"?
this is my GT_IMG_1.mat file representing ground truth of an image
could you plese look and tell
Ameer Hamza bro please look into it
sri harsha, Your .mat file does not contain any image. It just contain a cell array which also does not contain any image.
could you please just tell me how to do you come to know ,you plottted the .mat to image?
or by what other method you verified that it doesnt contain image
please tell me;
thank you
An image file is a matrix of size m*n, where m and n are the height and width of the image in pixels. Even a typical low-resolution image usually has m>200, and n>200. The cell array in your .mat file has a matrix of size mx2. If you make it as an image, it will just be two pixels wide. It will not be observable.
sri harsha
sri harsha on 18 Apr 2020
Edited: sri harsha on 18 Apr 2020
ya i waht you said is true,imagine if those pixels value(represent) the heads of people,, all in the image ,can i consider (mx2) it to be the pixel values of head,beacuse i am working on crowd counting based on head detection ad it is its dataset
Yes, that is also possible, but you still cannot call imshow() function on that information. imshow() need information about all the pixels in the image.
ok tq,but can i know the distance in a image , i mean which pixel it is representing by (mx2) pixel coardinates, imean is there a way to verify the pixel values in (mx2) isrepresenting which area in an image
Ammer Hamza could you please tell me can i get the co-ordinates of my(mx2) pixel values
You can get the location of the heads in pixel coordinates using this
a = load('GT_IMG_1.mat');
locations = a.image_info{1}.location;
You can first load the image you attached in the comment above and the use the plot the locations in mat file like this
im = imread('imge_filename'); % your image file.
imshow(im);
hold on
a = load('GT_IMG_1.mat');
locations = a.image_info{1}.location;
plot(locations(:,1), locations(:,2), '+')

Sign in to comment.

More Answers (0)

Categories

Products

Release

R2017b

Community Treasure Hunt

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

Start Hunting!