Open .mat file containing images
조회 수: 10 (최근 30일)
이전 댓글 표시
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.
댓글 수: 0
답변 (1개)
ILoveMATLAB
2019년 1월 13일
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
Walter Roberson
2019년 1월 13일
I disagree about the use of the word "should" about imshow(). My recommendation is to use imshow() only for interactive exploration or very basic tools, and to get rid of it as soon as your GUI has any meaningful complexity. imshow() does a lot behind your back that can badly interfere with GUI development.
Walter Roberson
2019년 1월 13일
If the images are intended to be a sequence rather than a volume, then you could consider using implay() to animate them.
참고 항목
카테고리
Help Center 및 File Exchange에서 Convert Image Type에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!