Mis on pilt?
Digitaalne pilt on nagu maatriks või ruudustik, kus iga ruudu ehk piksli värv on esitatud numbrilise väärtusega. Iga piksel on defineeritud kolme põhivärviga: punane ehk red (R), roheline ehk green (G) ja sinine ehk blue (B). Muutes RGB spektrumi intensiivsust on võimalik luua kõik teised inimese silmale nähtavad värvid.
Piksli mõiste: Piksel on digitaalse pildi väikseim üksus. Pikseli värv määratakse peamiselt RGB värvimudeli abil, kus igale põhivärvile on omistatud väärtus vahemikus 0 kuni 255. Näiteks piksel, mille väärtus on (255, 0, 0), on puhas punane.
Resolutsioon ja suurus: Pildi resolutsioon määrab, kui palju piksleid on pildis horisontaalselt ja vertikaalselt. Näiteks 1920x1080 resolutsiooniga pilt koosneb 1920 pikslist laiuses ja 1080 pikslist kõrguses.
Siin on pilt malelauast, kuidas näeb arvuti seda pilti?
Selle pildi resolutsioon ehk suurus on 18 x 18 pikslit.

Kuidas on võimalik seda pilti kujutada maatriksina?
import cv2
import matplotlib.pyplot as plt
cb_img = cv2.imread("checkerboard_18x18.png", 0)
print(cb_img)
Mitu pikslit lai on malelaual must ruut, kui pildi resolutsioon on 18 x 18 pikslit?
Värvimudel RGB
Värvimudel on abstraktne matemaatiline mudel värvide kirjeldamiseks. Värvimudeli abil on numbrilised väärtused kujutatud kolme või nelja osaliste järjendite abil.
RGB (red,green,blue) värvimudel, mis tähistab punast, rohelist ja sinist, on värvimudel, mida kasutatakse digitaalsetes ekraanides ja valgustuses, et luua erinevaid värve valguse kolme põhivärvi kombinatsiooni kaudu. RGB värvikanalitega töötamine tähendab iga värvikomponendi (punane, roheline ja sinine) intensiivsuse reguleerimist sõltumatult, et saavutada lai valik värve.
All toodud on rakendust, mis aitab aru saada RGB värvikanalitest ning kuidas erinevaid värve teha, muutes RGB kolme kanali väärtusi.
OpenCV kasutab BGR värvimudelit, see on RGB värvimudel tagurpidi. See on tingitud sellest, et OpenCV algusaegadel oli kaamera tootjate ning tarkvara arendajatel BGR formaadil suurem tugi.
Käivitage Thonny ning kopeerige see kood endale.
Proovige liugureid libistada ja uuriga, kuidas erinevad värvid tekivad RGB kombinatsioonist.
import numpy as np
import cv2 as cv
def nothing(x):
pass
#loome musta pildi
img = np.zeros((300,600,3), np.uint8)
cv.namedWindow('image')
# loome liugurid värvide muutmiseks
cv.createTrackbar('RED','image',0,255,nothing)
cv.createTrackbar('GREEN','image',0,255,nothing)
cv.createTrackbar('BLUE','image',0,255,nothing)
while(1):
cv.imshow('image',img)
k = cv.waitKey(1) & 0xFF
if k == 27:
break
# hetkene liugurite positsioon
r = cv.getTrackbarPos('RED','image')
g = cv.getTrackbarPos('GREEN','image')
b = cv.getTrackbarPos('BLUE','image')
img[:] = [b,g,r]
cv.destroyAllWindows()
Tulemus peaks nägema välja selline

Kuidas on võimalik luua oranži värvi, mis peavad olema RGB kanalite väärtused?
- A R:255 G:0 B:150
- B R:150 G:255 B:0
- C R:255 G:150 B:0