Bird
Raised Fist0
NumPydata~5 mins

Basic image manipulation with arrays in NumPy - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the role of a NumPy array in basic image manipulation?
A NumPy array stores image data as numbers, usually representing colors or brightness. This lets us change images by changing numbers in the array.
Click to reveal answer
beginner
How can you flip an image horizontally using NumPy?
You can flip an image horizontally by reversing the columns of the array using slicing like image[:, ::-1].
Click to reveal answer
beginner
What does changing the values in a NumPy image array do to the image?
Changing values changes the colors or brightness of pixels, which changes how the image looks.
Click to reveal answer
beginner
How do you crop an image using NumPy arrays?
Cropping means selecting a smaller part of the array using slicing, like image[50:150, 30:130] to get a rectangle.
Click to reveal answer
beginner
Why is it useful to convert images to arrays for manipulation?
Arrays let us use math and programming to change images easily and quickly, like adjusting brightness or flipping.
Click to reveal answer
Which NumPy slicing operation flips an image vertically?
Aimage[::-1, :]
Bimage[:, ::-1]
Cimage[::2, ::2]
Dimage[:, :]
How do you select a 100x100 pixel crop from the top-left corner of an image array?
Aimage[0:100, ::-1]
Bimage[100:200, 100:200]
Cimage[0:100, 0:100]
Dimage[:, 0:100]
What happens if you add 50 to all values in an image array?
AThe image flips horizontally
BThe image becomes brighter
CThe image becomes darker
DThe image size doubles
Which NumPy operation would invert the colors of a grayscale image with values 0-255?
A255 - image
Bimage + 255
Cimage * 2
Dimage[::-1, ::-1]
What does image[:, ::-1] do to an image array?
ARotates the image 90 degrees
BFlips the image vertically
CCrops the image
DFlips the image horizontally
Explain how you can flip, crop, and brighten an image using NumPy arrays.
Think about how slicing changes the array shape and how adding changes pixel values.
You got /3 concepts.
    Describe why images are represented as arrays and how this helps in image manipulation.
    Consider how computers see images as numbers.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does a 2D numpy array represent when used for a grayscale image?
      easy
      A. Pixel brightness values arranged in rows and columns
      B. A list of image file names
      C. The color channels of an image
      D. The size of the image in bytes

      Solution

      1. Step 1: Understand image representation

        A grayscale image is made of pixels arranged in rows and columns, each pixel having a brightness value.
      2. Step 2: Connect to numpy array structure

        A 2D numpy array stores these brightness values in a grid matching the image layout.
      3. Final Answer:

        Pixel brightness values arranged in rows and columns -> Option A
      4. Quick Check:

        Grayscale image = 2D pixel brightness array [OK]
      Hint: Grayscale images use 2D arrays for pixel brightness [OK]
      Common Mistakes:
      • Confusing pixel values with file names
      • Thinking 2D arrays store color channels
      • Mixing image size with pixel data
      2. Which numpy code correctly flips a 2D image array img vertically?
      easy
      A. np.fliplr(img)
      B. np.flip(img, axis=1)
      C. np.flip(img, axis=0)
      D. np.flip(img)

      Solution

      1. Step 1: Understand vertical flip axis

        Vertical flip reverses rows, which corresponds to axis 0 in numpy arrays.
      2. Step 2: Match numpy functions to axis

        np.flip(img, axis=0) flips vertically.
      3. Final Answer:

        np.flip(img, axis=0) -> Option C
      4. Quick Check:

        Vertical flip = axis 0 flip [OK]
      Hint: Vertical flip uses axis=0 in np.flip [OK]
      Common Mistakes:
      • Using axis=1 flips horizontally
      • np.flip(img) without axis reverses all axes
      • Forgetting axis parameter in np.flip
      3. Given this code:
      import numpy as np
      img = np.array([[10, 20], [30, 40]])
      new_img = img + 5
      print(new_img)

      What is the output?
      medium
      A. [[10 20] [30 40]]
      B. [[5 15] [25 35]]
      C. [[50 60] [70 80]]
      D. [[15 25] [35 45]]

      Solution

      1. Step 1: Understand numpy array addition

        Adding 5 to a numpy array adds 5 to every element (broadcasting).
      2. Step 2: Calculate new array values

        Each element increases by 5: 10+5=15, 20+5=25, 30+5=35, 40+5=45.
      3. Final Answer:

        [[15 25] [35 45]] -> Option D
      4. Quick Check:

        Array + 5 adds 5 to all elements [OK]
      Hint: Adding scalar adds to all pixels in array [OK]
      Common Mistakes:
      • Thinking addition changes shape
      • Adding 5 only to first row or column
      • Confusing addition with multiplication
      4. What is wrong with this code to crop the top-left 2x2 part of a 3x3 image array img?:
      cropped = img[0:2, 0:3]
      medium
      A. It crops 2 rows but 3 columns, not 2 columns
      B. It causes an index error
      C. It flips the image instead of cropping
      D. It returns the whole image

      Solution

      1. Step 1: Analyze slicing indices

        The slice img[0:2, 0:3] selects rows 0 and 1 (2 rows) and columns 0,1,2 (3 columns).
      2. Step 2: Compare to desired crop size

        We want a 2x2 crop, but this selects 2x3, so it includes one extra column.
      3. Final Answer:

        It crops 2 rows but 3 columns, not 2 columns -> Option A
      4. Quick Check:

        Slicing columns 0:3 selects 3 columns [OK]
      Hint: Check slice ranges match desired rows and columns [OK]
      Common Mistakes:
      • Assuming slicing is exclusive of end index
      • Expecting error from out-of-range slice
      • Confusing rows and columns order
      5. You have a color image as a 3D numpy array img with shape (100, 100, 3). How do you create a new image gray_img by averaging the color channels for each pixel?
      hard
      A. gray_img = img.sum(axis=0)
      B. gray_img = img.mean(axis=2)
      C. gray_img = img[:, :, 0]
      D. gray_img = np.flip(img, axis=1)

      Solution

      1. Step 1: Understand image shape and channels

        The shape (100, 100, 3) means 100x100 pixels with 3 color channels (RGB) along axis 2.
      2. Step 2: Average color channels per pixel

        Using img.mean(axis=2) calculates the average of the 3 channels for each pixel, producing a 2D grayscale image.
      3. Final Answer:

        gray_img = img.mean(axis=2) -> Option B
      4. Quick Check:

        Mean over axis 2 averages color channels [OK]
      Hint: Use mean(axis=2) to average RGB channels [OK]
      Common Mistakes:
      • Summing over wrong axis
      • Selecting only one color channel
      • Using flip instead of averaging
      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