Bird
Raised Fist0
MATLABdata~5 mins

Reading and displaying images in MATLAB

Choose your learning style10 modes available
Introduction

We read images to use them in our programs. Displaying images helps us see the results and understand the data visually.

When you want to analyze a photo or picture in your program.
When you need to show an image to check if it loaded correctly.
When you want to process or edit images and see the changes.
When you are working on computer vision projects that use images.
When you want to compare original and modified images side by side.
Syntax
MATLAB
img = imread('filename.ext');
imshow(img);

imread loads the image file into a variable.

imshow shows the image in a figure window.

Examples
Reads and displays a color image named 'peppers.png'.
MATLAB
img = imread('peppers.png');
imshow(img);
Reads and displays a grayscale image named 'cameraman.tif'.
MATLAB
img = imread('cameraman.tif');
imshow(img);
Reads an image and opens a new figure window to display it.
MATLAB
img = imread('flower.jpg');
figure; imshow(img);
Sample Program

This program reads the 'peppers.png' image and displays it with a title above the image.

MATLAB
img = imread('peppers.png');
imshow(img);
title('Displayed Image: Peppers');
OutputSuccess
Important Notes

Make sure the image file is in your current folder or provide the full path.

Supported image formats include PNG, JPG, TIFF, BMP, and GIF.

You can add a title or labels to the image using title and other plotting functions.

Summary

Use imread to load images into MATLAB.

Use imshow to display images in a figure window.

Always check the image file location to avoid errors.

Practice

(1/5)
1. What is the primary function of imread in MATLAB when working with images?
easy
A. To display an image on the screen
B. To save an image to a file
C. To load an image file into MATLAB as a matrix
D. To convert an image to grayscale

Solution

  1. Step 1: Understand the purpose of imread

    imread reads image files and loads them into MATLAB as arrays (matrices) representing pixel data.
  2. Step 2: Differentiate from other functions

    imshow displays images, imwrite saves images, and conversion functions change image formats. Only imread loads images.
  3. Final Answer:

    To load an image file into MATLAB as a matrix -> Option C
  4. Quick Check:

    imread = load image [OK]
Hint: Remember: 'read' means load data into MATLAB [OK]
Common Mistakes:
  • Confusing imread with imshow
  • Thinking imread displays images
  • Assuming imread saves images
2. Which of the following is the correct syntax to display an image stored in variable img in MATLAB?
easy
A. imshow(img);
B. imread(img);
C. display(img);
D. show(img);

Solution

  1. Step 1: Identify the function to display images

    imshow is the MATLAB function designed to show images stored in variables.
  2. Step 2: Check syntax correctness

    The syntax imshow(img); correctly calls the function with the image variable.
  3. Final Answer:

    imshow(img); -> Option A
  4. Quick Check:

    Display image = imshow [OK]
Hint: Use imshow to show images, not imread [OK]
Common Mistakes:
  • Using imread to display images
  • Using non-existent functions like show
  • Using display which does not render images
3. What will be the output of the following MATLAB code?
img = imread('peppers.png');
imshow(img);
size_img = size(img);

What does size_img contain?
medium
A. [384 512 3]
B. [512 384 3]
C. [384 512]
D. [512 384]

Solution

  1. Step 1: Understand image dimensions

    The image 'peppers.png' is a color image with height 384 pixels, width 512 pixels, and 3 color channels (RGB).
  2. Step 2: Interpret size output

    size(img) returns a vector with [rows, columns, color channels], so it is [384 512 3].
  3. Final Answer:

    [384 512 3] -> Option A
  4. Quick Check:

    Image size = [height width channels] = [384 512 3] [OK]
Hint: Remember size returns [rows columns channels] for images [OK]
Common Mistakes:
  • Swapping width and height values
  • Ignoring the third dimension for color channels
  • Assuming grayscale image size format
4. Identify the error in the following MATLAB code snippet:
img = imread('flower.jpg')
imshow(img)

What is the likely cause if MATLAB throws an error?
medium
A. Missing semicolon after imread line
B. Variable img is not defined
C. Using imshow without parentheses
D. Incorrect file extension or file not found

Solution

  1. Step 1: Check syntax correctness

    Missing semicolons do not cause errors, only suppress output. Parentheses are correctly used.
  2. Step 2: Consider file-related errors

    If MATLAB cannot find 'flower.jpg' or the extension is wrong, imread throws an error.
  3. Final Answer:

    Incorrect file extension or file not found -> Option D
  4. Quick Check:

    File path/name errors cause imread failure [OK]
Hint: Check file name and path carefully if imread errors [OK]
Common Mistakes:
  • Thinking missing semicolon causes error
  • Assuming imshow syntax is wrong
  • Ignoring file existence and path issues
5. You want to read an image and display only its red color channel in MATLAB. Which code snippet correctly achieves this?
hard
A. img = imread('image.png'); imshow(img(:,:,3));
B. img = imread('image.png'); imshow(img(:,:,1));
C. img = imread('image.png'); imshow(img(1,:,:));
D. img = imread('image.png'); imshow(img(:,1,:));

Solution

  1. Step 1: Understand image color channels

    In MATLAB, the third dimension of an RGB image is color channels: 1=Red, 2=Green, 3=Blue.
  2. Step 2: Extract and display red channel

    Using img(:,:,1) extracts the red channel matrix. Displaying it with imshow shows only red intensity.
  3. Final Answer:

    img = imread('image.png'); imshow(img(:,:,1)); -> Option B
  4. Quick Check:

    Red channel = third dimension index 1 [OK]
Hint: Use (:,:,1) to get red channel from RGB image [OK]
Common Mistakes:
  • Using wrong channel index for red
  • Trying to slice rows or columns incorrectly
  • Confusing color channel order
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard