Bird
Raised Fist0
Computer Visionml~10 mins

Cropping images 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 crop the image using slicing.

Computer Vision
cropped_img = img[[1]:100, 50:150]
Drag options to blanks, or click blank then click option'
A50
B0
C20
D100
Attempts:
3 left
💡 Hint
Common Mistakes
Using column index first instead of row index.
Starting slice at 0 which crops from the top instead of desired position.
2fill in blank
medium

Complete the code to crop the image to a square of size 50x50 pixels starting at (30, 40).

Computer Vision
cropped_img = img[[1]:[1]+50, 40:90]
Drag options to blanks, or click blank then click option'
A30
B40
C50
D20
Attempts:
3 left
💡 Hint
Common Mistakes
Using the column index as the first slice index.
Not adding 50 to the start index for the end index.
3fill in blank
hard

Fix the error in the code to correctly crop the image region from (10, 20) to (60, 70).

Computer Vision
cropped_img = img[10:[1], 20:70]
Drag options to blanks, or click blank then click option'
A60
B70
C50
D80
Attempts:
3 left
💡 Hint
Common Mistakes
Using 70 as the end row index which is beyond the desired crop.
Using 50 which crops less than intended.
4fill in blank
hard

Fill both blanks to crop a 40x40 pixel square starting at (15, 25).

Computer Vision
cropped_img = img[[1]:[2], 25:65]
Drag options to blanks, or click blank then click option'
A15
B55
C65
D40
Attempts:
3 left
💡 Hint
Common Mistakes
Using 65 as the end row index which is too large.
Using 40 as the start index instead of 15.
5fill in blank
hard

Fill all three blanks to crop the image from (10, 20) to (60, 70) and convert to grayscale.

Computer Vision
cropped_img = img[[1]:[2], [3]:70]
gray_img = cv2.cvtColor(cropped_img, cv2.COLOR_BGR2GRAY)
Drag options to blanks, or click blank then click option'
A10
B60
C20
D50
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing up row and column indices.
Not converting to grayscale after cropping.

Practice

(1/5)
1. What does cropping an image do in computer vision?
easy
A. Increases the image resolution
B. Changes the color of the entire image
C. Cuts out a part of the image using row and column ranges
D. Rotates the image by 90 degrees

Solution

  1. Step 1: Understand cropping concept

    Cropping means selecting a smaller part of the image by specifying rows and columns.
  2. Step 2: Compare options with definition

    Only Cuts out a part of the image using row and column ranges describes cutting out part of the image using row and column ranges.
  3. Final Answer:

    Cuts out a part of the image using row and column ranges -> Option C
  4. Quick Check:

    Cropping = cutting part of image [OK]
Hint: Cropping means cutting out part of the image [OK]
Common Mistakes:
  • Confusing cropping with resizing
  • Thinking cropping changes colors
  • Mixing cropping with rotation
2. Which of the following is the correct syntax to crop an image stored in variable img to rows 10 to 50 and columns 20 to 70 in Python?
easy
A. img[10:50, 20:70]
B. img[20:70, 10:50]
C. img[10:50][20:70]
D. img.crop(10,50,20,70)

Solution

  1. Step 1: Recall slicing syntax for images

    Images are sliced as img[row_start:row_end, col_start:col_end].
  2. Step 2: Match given ranges to syntax

    Rows 10 to 50 and columns 20 to 70 means img[10:50, 20:70].
  3. Final Answer:

    img[10:50, 20:70] -> Option A
  4. Quick Check:

    Rows first, columns second in slicing [OK]
Hint: Remember slicing is img[row_start:row_end, col_start:col_end] [OK]
Common Mistakes:
  • Swapping row and column indices
  • Using double brackets instead of comma
  • Using a non-existent crop method
3. Given the code:
import numpy as np
img = np.arange(100).reshape(10,10)
cropped = img[2:5, 3:7]
print(cropped)

What is the output?
medium
A. [[3 4 5 6] [13 14 15 16] [23 24 25 26]]
B. [[23 24 25 26] [33 34 35 36] [43 44 45 46]]
C. [[23 24 25 26 27] [33 34 35 36 37] [43 44 45 46 47]]
D. [[32 33 34 35] [42 43 44 45] [52 53 54 55]]

Solution

  1. Step 1: Understand the image array

    img is a 10x10 array with values from 0 to 99 arranged row-wise.
  2. Step 2: Extract rows 2 to 4 and columns 3 to 6

    Rows 2,3,4 correspond to indices 2,3,4; columns 3,4,5,6 correspond to indices 3 to 6 exclusive of 7.
  3. Step 3: Identify values in cropped

    Row 2: values 20 to 29, columns 3 to 6 are 23,24,25,26
    Row 3: 33,34,35,36
    Row 4: 43,44,45,46
  4. Final Answer:

    [[23 24 25 26] [33 34 35 36] [43 44 45 46]] -> Option B
  5. Quick Check:

    Slice rows 2-5 and cols 3-7 gives these values [OK]
Hint: Check array shape and slicing ranges carefully [OK]
Common Mistakes:
  • Confusing row and column indices
  • Including end index in slice
  • Misreading array reshape order
4. You try to crop an image using cropped = img[50:100, 30:60] but get an IndexError. What is the likely cause?
medium
A. The image variable is not defined
B. The slicing syntax is incorrect
C. The image is grayscale, not color
D. The image has fewer than 100 rows

Solution

  1. Step 1: Understand IndexError cause

    IndexError occurs when slicing beyond array dimensions.
  2. Step 2: Analyze slicing indices

    Rows 50 to 100 means accessing rows starting at 50. If image has fewer rows, this causes error.
  3. Final Answer:

    The image has fewer than 100 rows -> Option D
  4. Quick Check:

    IndexError = slicing outside image size [OK]
Hint: Check image shape before slicing [OK]
Common Mistakes:
  • Assuming syntax error causes IndexError
  • Confusing color channels with rows
  • Not checking if variable is defined
5. You have a 200x200 image and want to crop a centered square of size 100x100. Which code correctly crops this center square?
hard
A. img[50:150, 50:150]
B. img[0:100, 0:100]
C. img[100:200, 100:200]
D. img[25:125, 25:125]

Solution

  1. Step 1: Calculate center start and end indices

    Center of 200x200 is at 100,100. Half of 100 size is 50.
  2. Step 2: Determine crop range

    Start at 100-50=50, end at 100+50=150 for both rows and columns.
  3. Final Answer:

    img[50:150, 50:150] -> Option A
  4. Quick Check:

    Center crop = middle 100 pixels from 200 [OK]
Hint: Center crop start = center - half size [OK]
Common Mistakes:
  • Starting crop at 0 instead of center
  • Using wrong indices for center
  • Cropping smaller or larger than requested