The Big Question: "How do we teach a machine to see the world the way we do?"
[10, 15, 12]
[18, 200, 25]
[14, 20, 16]
The Magic: Every digital image is just a carefully organized collection of numbers that, when displayed correctly, recreate the visual experience!
[ 0, 50, 100, 150, 255]
[ 25, 75, 125, 175, 200]
[ 50, 100, 150, 175, 150]
[ 75, 125, 175, 125, 100]
[100, 150, 200, 100, 50]
The Magic: By combining three grayscale images (R, G, B), we recreate the full spectrum of human-visible colors!
(0,0) (1,0) (2,0) (3,0)
(0,1) (1,1) (2,1) (3,1)
(0,2) (1,2) (2,2) (3,2)
# Convert uint8 (0-255) to float32 (0.0-1.0)
float_image = uint8_image / 255.0
# Convert float32 back to uint8
uint8_image = (float_image * 255).astype(uint8)
# Brightness adjustment
bright_image = original_image + 50
bright_image = np.clip(bright_image, 0, 255)
[1/9 1/9 1/9]
[1/9 1/9 1/9]
[1/9 1/9 1/9]
[100 150 200]
[110 160 210]
[120 170 220]
[-1 0 1]
[-2 0 2]
[-1 0 1]
[-1 -2 -1]
[ 0 0 0]
[ 1 2 1]
[50 50 50]
[50 50 50]
[200 200 200]
[200 200 200]
[1 0 dx]
[0 1 dy]
[0 0 1]
[cos(θ) -sin(θ) 0]
[sin(θ) cos(θ) 0]
[0 0 1]
[sx 0 0]
[0 sy 0]
[0 0 1]