Bird
Raised Fist0
Computer Visionml~10 mins

First image processing program in Computer Vision - Interactive Code Practice

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to load an image using OpenCV.

Computer Vision
import cv2

image = cv2.[1]('sample.jpg')
Drag options to blanks, or click blank then click option'
Aresize
Bimshow
Cimwrite
Dimread
Attempts:
3 left
💡 Hint
Common Mistakes
Using imshow instead of imread to load image.
2fill in blank
medium

Complete the code to display the loaded image in a window.

Computer Vision
cv2.[1]('Display Window', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
Drag options to blanks, or click blank then click option'
Aimread
Bimshow
Cimwrite
Dresize
Attempts:
3 left
💡 Hint
Common Mistakes
Using imread instead of imshow to display image.
3fill in blank
hard

Fix the error in the code to convert the image to grayscale.

Computer Vision
gray_image = cv2.cvtColor(image, [1])
Drag options to blanks, or click blank then click option'
Acv2.COLOR_BGR2GRAY
Bcv2.COLOR_RGB2BGR
Ccv2.COLOR_BGR2RGB
Dcv2.COLOR_GRAY2BGR
Attempts:
3 left
💡 Hint
Common Mistakes
Using color conversions that do not produce grayscale images.
4fill in blank
hard

Fill both blanks to save the grayscale image to a file and then display it.

Computer Vision
cv2.[1]('gray_sample.jpg', gray_image)
cv2.[2]('Gray Image', gray_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
Drag options to blanks, or click blank then click option'
Aimwrite
Bimshow
Cimread
Dresize
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing up imread and imwrite functions.
5fill in blank
hard

Fill all three blanks to resize the image to half its size and display it.

Computer Vision
height, width = image.shape[:2]
new_size = (width [1] 2, height [2] 2)
resized_image = cv2.[3](image, new_size)
cv2.imshow('Resized Image', resized_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
Drag options to blanks, or click blank then click option'
A//
B/
Cresize
D*
Attempts:
3 left
💡 Hint
Common Mistakes
Using float division causing errors in size.
Using wrong function to resize.

Practice

(1/5)
1. What does the OpenCV function imread do in an image processing program?
easy
A. It displays an image on the screen.
B. It reads an image file and loads it into the program.
C. It converts an image from color to grayscale.
D. It saves an image to a file.

Solution

  1. Step 1: Understand the purpose of imread

    The function imread is used to load an image from a file into the program's memory.
  2. Step 2: Differentiate from other functions

    Functions like imshow display images, and cvtColor changes image colors, so they do not read files.
  3. Final Answer:

    It reads an image file and loads it into the program. -> Option B
  4. Quick Check:

    imread = load image [OK]
Hint: imread always loads images from files [OK]
Common Mistakes:
  • Confusing imread with imshow
  • Thinking imread changes image colors
  • Assuming imread saves images
2. Which of the following is the correct syntax to display an image stored in variable img using OpenCV?
easy
A. cv2.display(img)
B. cv2.showimage(img)
C. cv2.show('Window', img)
D. cv2.imshow('Window', img)

Solution

  1. Step 1: Recall the OpenCV display function

    The correct function to show an image is cv2.imshow, which takes a window name and the image variable.
  2. Step 2: Check the syntax of options

    Only cv2.imshow('Window', img) uses cv2.imshow with correct parameters: a string window name and the image.
  3. Final Answer:

    cv2.imshow('Window', img) -> Option D
  4. Quick Check:

    imshow = show image [OK]
Hint: imshow needs a window name and image [OK]
Common Mistakes:
  • Using non-existent functions like display or showimage
  • Forgetting the window name argument
  • Swapping argument order
3. What will be the output of this code snippet?
import cv2
img = cv2.imread('photo.jpg')
print(img.shape)
medium
A. It prints the image pixel values.
B. It raises an error because shape is not valid.
C. It prints the dimensions of the image as (height, width, channels).
D. It prints the file size of 'photo.jpg'.

Solution

  1. Step 1: Understand what img.shape returns

    In OpenCV, img.shape gives the dimensions of the image as a tuple: (height, width, number of color channels).
  2. Step 2: Differentiate from other outputs

    It does not print pixel values or file size, and shape is a valid attribute for images loaded by imread.
  3. Final Answer:

    It prints the dimensions of the image as (height, width, channels). -> Option C
  4. Quick Check:

    img.shape = image size [OK]
Hint: shape shows image size and channels [OK]
Common Mistakes:
  • Expecting pixel data instead of shape
  • Thinking shape is a method, not attribute
  • Confusing file size with image dimensions
4. Identify the error in this code snippet:
import cv2
img = cv2.imread('image.png')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow('Gray Image')
cv2.waitKey(0)
cv2.destroyAllWindows()
medium
A. Missing the image argument in cv2.imshow function.
B. cv2.cvtColor cannot convert color images.
C. cv2.waitKey requires an argument of 1, not 0.
D. cv2.destroyAllWindows should be called before imshow.

Solution

  1. Step 1: Check the usage of cv2.imshow

    The function cv2.imshow requires two arguments: a window name and the image to display. Here, the image argument is missing.
  2. Step 2: Verify other function calls

    cv2.cvtColor correctly converts color images, waitKey(0) waits indefinitely, and destroyAllWindows is correctly placed after showing images.
  3. Final Answer:

    Missing the image argument in cv2.imshow function. -> Option A
  4. Quick Check:

    imshow needs image argument [OK]
Hint: imshow always needs image to show [OK]
Common Mistakes:
  • Forgetting the image argument in imshow
  • Misunderstanding waitKey argument
  • Calling destroyAllWindows too early
5. You want to write a program that reads an image, converts it to grayscale, and then saves the grayscale image. Which sequence of OpenCV functions is correct?
hard
A. cv2.imread() -> cv2.cvtColor() -> cv2.imwrite()
B. cv2.imshow() -> cv2.cvtColor() -> cv2.imwrite()
C. cv2.imread() -> cv2.imshow() -> cv2.cvtColor()
D. cv2.imwrite() -> cv2.imread() -> cv2.cvtColor()

Solution

  1. Step 1: Understand the task steps

    The program must first read the image, then convert it to grayscale, and finally save the new image.
  2. Step 2: Match functions to steps

    cv2.imread() reads the image, cv2.cvtColor() converts color spaces, and cv2.imwrite() saves the image to a file.
  3. Final Answer:

    cv2.imread() -> cv2.cvtColor() -> cv2.imwrite() -> Option A
  4. Quick Check:

    Read -> Convert -> Save = imread, cvtColor, imwrite [OK]
Hint: Read first, convert second, save last [OK]
Common Mistakes:
  • Trying to save before reading
  • Showing image before converting
  • Mixing order of functions