Open .mat file containing images

37 views (last 30 days)
Serena Lew
Serena Lew on 12 Jan 2019
Commented: Walter Roberson on 13 Jan 2019
Hi, I am trying to open a .mat folder that contains 2 objects: IMG1N and IMG2. Object IMG1N has 12 images that I need to perform contrast-noise-ratio analysis on. However, I haven't been able to extract and use the 12 images. I have been searching the internet but I dont understand how. This is one of the codes I tried.
allimages = load('A1images.mat')
whos
image(allimages.IMG1N)
colormap(allimages.map)
And this is the result I have been getting
allimages =
struct with fields:
IMG1N: [256×256×12 double]
IMG2: [300×400 double]
Name Size Bytes Class Attributes
allimages 1x1 7251808 struct
Error using image
Color data must be an m-by-n-by-3 or m-by-n matrix.
Error in untitled (line 8)
image(allimages.IMG1N)
Please help , I do think it's probably a very simple solution but I just can't figure how.

Answers (1)

ILoveMATLAB
ILoveMATLAB on 13 Jan 2019
Image() fucntion requires either an m-by-n-by-3 or m-by-n. When you write
image(allimages.IMG1N)
you are giving the image function an m by n by 12 array
If you want to view one of the images, you must call image like this
image(allimages.IMG1N(:,:,1));
If you have the image processing tool box, you should use imshow.
imshow(allimages.IMG1N(:,:,1));
If you want to view the other images, just change the number 1 to the image you want to view.
  2 Comments
Walter Roberson
Walter Roberson on 13 Jan 2019
If the images are intended to be a sequence rather than a volume, then you could consider using implay() to animate them.

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!