Commit 545eb9a52b98a661c4a8ecd9405b4db912e1bd0e

Small updates to tutorial4
Tutorial4/Soccer1Norm.png
(135 / 15)
Binary files differ
Tutorial4/Soccer2Norm.png
(215 / 12)
Binary files differ
Tutorial4/SoccerBackFromLab.png
(606 / 0)
Binary files differ
Tutorial4/tutorial4.py
(33 / 29)
  
1111lab = cv2.cvtColor(img, cv2.COLOR_BGR2LAB)
1212lab2 = cv2.cvtColor(img2, cv2.COLOR_BGR2LAB)
1313
14cv2.imwrite("SoccerLab.png", lab)
15cv2.imwrite("BaseballLab.png", lab2)
14#cv2.imwrite("SoccerLab.png", lab)
15#cv2.imwrite("BaseballLab.png", lab2)
1616
1717#Erotetaan varikanavat
1818l,a,b = cv2.split(lab)
19cv2.imwrite("SoccerLabColorL.png", l)
20cv2.imwrite("SoccerLabColorA.png", a)
21cv2.imwrite("SoccerLabColorB.png", b)
19#cv2.imwrite("SoccerLabColorL.png", l)
20#cv2.imwrite("SoccerLabColorA.png", a)
21#cv2.imwrite("SoccerLabColorB.png", b)
2222
2323l2,a2,b2 = cv2.split(lab2)
24cv2.imwrite("BaseballLabColorL.png", l2)
25cv2.imwrite("BaseballLabColorA.png", a2)
26cv2.imwrite("BaseballLabColorB.png", b2)
24#cv2.imwrite("BaseballLabColorL.png", l2)
25#cv2.imwrite("BaseballLabColorA.png", a2)
26#cv2.imwrite("BaseballLabColorB.png", b2)
2727
28#Takaisin muunnos
29imgOrig = cv2.cvtColor(lab, cv2.COLOR_LAB2BGR)
30cv2.imwrite("SoccerBackFromLab.png", imgOrig)
31
2832#Muunnos napakoordinaatistoon
2933c,h = cv2.cartToPolar(np.float32(a),np.float32(b))
3034cv2.imwrite("Soccer1.png", c)
3135cv2.imwrite("Soccer2.png", h) #tuloksena musta kuva?
3236
33#Normalisointi?? Musta kuva tuloksena
34c = cv2.normalize(c, alpha=0, beta=1, norm_type=cv2.NORM_MINMAX, dtype=cv2.CV_32F)
35h = cv2.normalize(h, alpha=0, beta=1, norm_type=cv2.NORM_MINMAX, dtype=cv2.CV_32F)
37#Normalisointi valille 0-255
38c = cv2.normalize(c, alpha=0, beta=255, norm_type=cv2.NORM_MINMAX, dtype=cv2.CV_32F)
39h = cv2.normalize(h, alpha=0, beta=255, norm_type=cv2.NORM_MINMAX, dtype=cv2.CV_32F)
3640
3741cv2.imwrite("Soccer1Norm.png", c)
3842cv2.imwrite("Soccer2Norm.png", h)
3943
4044#BGR-varikanavien tutkiskelua.
41imageB = img
42for (i, row) in enumerate(img):
43 for (j, col) in enumerate(row):
44 imageB[i][j][1] = 0
45 imageB[i][j][2] = 0
46cv2.imwrite("TestBlue.jpg", imageB)
45#imageB = img
46#for (i, row) in enumerate(img):
47# for (j, col) in enumerate(row):
48# imageB[i][j][1] = 0
49# imageB[i][j][2] = 0
50#cv2.imwrite("TestBlue.jpg", imageB)
4751
48imageR = img3
49for (i, row) in enumerate(img3):
50 for (j, col) in enumerate(row):
51 imageR[i][j][0] = 0
52 imageR[i][j][1] = 0
53cv2.imwrite("TestRed.jpg", imageR)
52#imageR = img3
53#for (i, row) in enumerate(img3):
54# for (j, col) in enumerate(row):
55# imageR[i][j][0] = 0
56# imageR[i][j][1] = 0
57#cv2.imwrite("TestRed.jpg", imageR)
5458
55imageG = img2
56for (i, row) in enumerate(img2):
57 for (j, col) in enumerate(row):
58 imageG[i][j][0] = 0
59 imageG[i][j][2] = 0
60cv2.imwrite("TestGreen.jpg", imageG)
59#imageG = img2
60#for (i, row) in enumerate(img2):
61# for (j, col) in enumerate(row):
62# imageG[i][j][0] = 0
63# imageG[i][j][2] = 0
64#cv2.imwrite("TestGreen.jpg", imageG)
Tutorial4/tutorial4.txt
(3 / 2)
  
55miltä erilliset värikanavat näyttävät. L-kanavan erottamalla tosiaan sai aikaiseksi todella
66hyvän ja terävän mustavalkoversion kuvista. Puolestaan B-kanava pesäpallo-kuvalle näytti
77mielenkiintoiselta, pelaaja erottui selvästi taustastaan (alunperin vihreää ja ruskeaa taustaa).
8Tein myös takaisinmuunnoksen ja sain tulokseksi alkuperäisen kuvan.
89
910Tutkin jalkapallo kuvaa myös LCh(ab)-avaruudessa. Yritin katsella, miltä nämä magnitudi ja
1011kulma näyttävät, mutta kulma tuotti aivan mustan kuvan ja magnitudikin vain epäselvän
11mustavalkoversion alkuperäisestä. Näiden [0,1] välille normalisoidut versiot tuottivat
12vain mustat kuvat. Miksi?
12mustavalkoversion alkuperäisestä. Normalisoin nämä välille 0-255, jolloin myös kulma
13tuotti jotain muuta kuin vain mustan kuvan.
1314
1415Lopuksi kokeilin erottaa kuvista BGR-kanavia ja tutkia, miltä nämä näyttävät. Samantapaista
1516tein jo ensimmäisessä tutoriaalissa, kun kokeilin nollailla jonkin BGR-kanavista.