0
0
Computer Visionml~20 mins

Color spaces (RGB, BGR, grayscale, HSV) in Computer Vision - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Color Space Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
What is the output shape after converting an RGB image to grayscale using OpenCV?
Given an RGB image with shape (100, 150, 3), what will be the shape of the image after converting it to grayscale using OpenCV's cvtColor function?
Computer Vision
import cv2
import numpy as np

image_rgb = np.random.randint(0, 256, (100, 150, 3), dtype=np.uint8)
gray_image = cv2.cvtColor(image_rgb, cv2.COLOR_RGB2GRAY)
print(gray_image.shape)
A(100, 150)
B(150, 100)
C(100, 150, 1)
D(100, 150, 3)
Attempts:
2 left
💡 Hint
Grayscale images have only one channel, so the shape loses the last dimension.
🧠 Conceptual
intermediate
1:30remaining
Why does OpenCV use BGR instead of RGB by default?
OpenCV uses BGR color order by default instead of RGB. What is the main reason for this?
ABecause BGR matches the order used by Windows bitmap files historically.
BBecause BGR is more efficient for GPU processing.
CBecause RGB is patented and requires licensing fees.
DBecause BGR uses less memory than RGB.
Attempts:
2 left
💡 Hint
Think about historical image file formats and compatibility.
Metrics
advanced
1:30remaining
Which metric is best to compare color similarity in HSV space?
You want to measure how similar two colors are in HSV space. Which metric is most appropriate?
ACosine similarity on grayscale intensities
BManhattan distance on RGB values
CEuclidean distance on HSV values
DHamming distance on binary color codes
Attempts:
2 left
💡 Hint
Consider the numeric nature of HSV and how distances reflect similarity.
🔧 Debug
advanced
2:00remaining
Why does this code produce a blueish image instead of red?
You load an image using OpenCV and try to display a pure red color by setting pixel values to (255, 0, 0). The displayed image looks blueish. Why?
Computer Vision
import cv2
import numpy as np

image = np.zeros((100, 100, 3), dtype=np.uint8)
image[:] = (255, 0, 0)  # Set to red
cv2.imshow('Image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
AThe data type uint8 causes color distortion.
BOpenCV uses BGR order, so (255, 0, 0) is blue, not red.
CThe display window is not refreshing properly.
DThe image array is not initialized correctly and contains random values.
Attempts:
2 left
💡 Hint
Check the color channel order OpenCV expects.
Model Choice
expert
2:30remaining
Which color space is best for skin tone detection in images?
You want to build a model to detect skin tones in images robustly under different lighting. Which color space is generally best to use as input features?
ARGB, because it is the raw color data from cameras.
BGrayscale, because it simplifies the image to intensity only.
CBGR, because OpenCV uses it by default.
DHSV, because it separates color information from brightness.
Attempts:
2 left
💡 Hint
Think about separating color from light intensity to handle lighting changes.