You are on page 1of 10

 Sử dụng giải thuật Harriscorner

- Vì đây là kernel 3x3 nên ta phải bao xung quanh ma trận A 1 padding

0 .Lúc này ma trận A sẽ là:

0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 255 0 255 0 0 0
0 255 255 255 0 255 255 0 0
0 255 0 0 0 0 255 0 0
0 255 255 255 0 255 255 0 0
0 0 0 255 0 255 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0

Bước 1) Tính gradient của vùng pixel I X và I Y


Ta có ma trận gradient X và Y
-1 0 1
-2 0 2
-1 0 1
Gradient X
-1 -2 -1
0 0 0
1 2 1
Gradient Y
Ta thực hiện tính toán I X bằng cách convolution với gradien X
Ta có flip kernel gradient X theo trục X
-1 0 1
-2 0 2
-1 0 1
Flip kernel gradient X theo trục Y
1 0 -1
2 0 -2
1 0 -1
Ta thực hiện convolution với ma trận đề bài

1 0 -1
2 0 -2
1 0 -1

0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 255 0 255 0 0 0
0 255 255 255 0 255 255 0 0
0 255 0 0 0 0 255 0 0
0 255 255 255 0 255 255 0 0
0 0 0 255 0 255 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0

A(0,0) = 1.0+2.0+1.0+(-1).0+(-2).0+(-1).0=0

0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 255 0 255 0 0 0
0 255 255 255 0 255 255 0 0
0 255 0 0 0 0 255 0 0
0 255 255 255 0 255 255 0 0
0 0 0 255 0 255 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0

Ta có A(0,2) =(-1).255=-255
Tương tự cho các vị trí khác ta được ma trận I X
0 -255 0 0 0 255 0
-255 -510 255 0 -255 765 255
-510 0 510 0 -765 765 765
-510 510 510 0 -1020 510 1020
-510 0 510 0 -765 765 765
-255 -510 255 0 -255 765 255
0 -255 0 0 0 255 0
Tương tự ta có kernel gradient Y sau khi flip X và Y
1 2 1
0 0 0
-1 -2 -1

0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 255 0 255 0 0 0
0 255 255 255 0 255 255 0 0
0 255 0 0 0 0 255 0 0
0 255 255 255 0 255 255 0 0
0 0 0 255 0 255 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0

Ta quét tương tự như ma trận I X


Sau khi convolution ma trận A với gradient Y ta nhận được ma trận I Y
0 -255 -510 -510 -510 -255 0
-765 -1020 -765 -510 -765 -765 -255
-510 0 510 510 255 -255 -255
0 0 0 0 0 0 0
510 0 -510 -510 -255 255 255
765 1020 765 510 765 765 255
0 255 510 510 510 255 0

Bước 2) Tính I X 2 , I Y 2 , I XY
Ta có ma trận I X 2
0 65025 0 0 0 65025 0
65025 260100 65025 0 65025 585225 65025
260100 0 260100 0 585225 585225 585225
260100 260100 260100 0 1040400 260100 1040400
260100 0 260100 0 585225 585225 585225
65025 260100 65025 0 65025 585225 65025
0 65025 0 0 0 65025 0

Ta có ma trận I Y 2
0 65025 260100 260100 260100 65025 0
585225 1040400 585225 260100 585225 585225 65025
260100 0 260100 260100 65025 65025 65025
0 0 0 0 0 0 0
260100 0 260100 260100 65025 65025 65025
585225 1040400 585225 260100 585225 585225 65025
0 65025 260100 260100 260100 65025 0

Ta có ma trận I XY
0 65025 0 0 0 -65025 0
195075 520200 -195075 0 195075 -585225 -65025
260100 0 260100 0 -195075 -195075 -195075
0 0 0 0 0 0 0
-260100 0 -260100 0 195075 195075 195075
-195075 -520200 195075 0 -195075 585225 65025
0 -65025 0 0 0 65025 0

 Bước 3) convolution các ma trận đã tính được ở bước 2 với hệ số gauss được
tính từ kernel gaussian 3x3 :
Ta có công thức tính kernel gaussian
2 2
−(x + y )
1 2σ
2

Gσ = .e
2 π σ2
+ Với x,y là giá trị trong ma trận, σ = 0.5 :

-1,-1 -1,0 -1,1


0,-1 0,0 0,1
1,-1 1,0 1,1

Từ đó ta tính được ma trận lọc gaussian :

0,0116 0,086 0,01166


6
0,086 0,6366 0,086
0,0116 0,086 0,01166
6
- Tiếp theo ta convolution ma trận kernel gaussian trên với các ma trận
2 2
I X , I Y , I XY

0,0116 0,086 0,01166


6
0,086 0,6366 0,086
0,0116 0,086 0,01166
6
Ta thu được kết quả ma trận
14217,07 65279,90 14217,07 1516,38 18008,02 93240,65 18008,02
86890,31 188421,6 86890,31 21040,79 149635,5 453307,4 149635,5
4 3 8 3
199605,9 97056,32 199605,9 89378,16 527806,6 571689,4 527806,6
4 4 2 0 2
232685,4 222447,9 232685,4 131555,9 798993,3 472482,0 798993,3
6 2 6 8 9 5 9
199605,9 97056,32 199605,9 89378,16 527806,6 571689,4 527806,6
4 4 2 0 2
86890,31 188421,6 86890,31 21040,79 149635,5 453307,4 149635,5
4 3 8 3
14217,07 65279,90 14217,07 1516,38 18008,02 93240,65 18008,02

Ta thu được kết quả S y 2

68052,56 166885,3 259033,5 246332,9 253726,2 121674,7 18008,02


6 9 1 5 8
485155,4 777667,7 535958,1 320832,0 480794,8 444209,1 98832,80
3 9 6 5 5 8
228040,0 147859,0 253441,4 229556,4 129541,5 110490,4 59402,94
7 5 4 6 0 8
44737,20 12131,06 50802,73 52319,12 18766,22 14217,07 12700,68
228040,0 147859,0 253441,4 229556,4 129541,5 110490,4 59402,94
7 5 4 6 0 8
485155,4 777667,7 535958,1 320832,0 480794,8 444209,1 98832,80
3 9 6 5 5 8
68052,56 166885,3 259033,5 246332,9 253726,2 121674,7 18008,02
6 9 1 5 8

Ta thu được ma trận S XY


28434,13 86132,12 -5118,77 0,00 4360,58 -90207,88 -18008,02
192048,74 342817,00 -56320,75 758,19 54046,18 -388287,68 -
111533,48
188421,64 89474,40 154868,74 5592,15 -131008,47 -206550,61 -
153377,07
0,00 0,00 0,00 0,00 0,00 0,00 0,00
-188421,64 -89474,40 -154868,74 -5592,15 131008,47 206550,61 153377,07
-192048,74 - 56320,75 -758,19 -54046,18 388287,68 111533,48
342817,00
-28434,13 -86132,12 5118,77 0,00 -4360,58 90207,88 18008,02

 Bước 4 : Dùng ma trận trượt 3x3 với enchor point tại tâm (-1,-1) ta thu về được
các ma trận ∑ S x , ∑ S y , ∑ S xy
2 2

Ma trận trượt có dạng


1 1 1
1 1 1
1 1 1

ma trận
0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
0,00 14217,07 65279,9 14217,07 1516,38 18008,02 93240,65 18008,02
0,00 86890,31 188421,64 86890,31 21040,79 149635,53 453307,5 149635,53
0,00 199605,94 97056,32 199605,94 89378,16 527806,62 571689,4 527806,62
0,00 232685,46 222447,92 232685,46 131555,98 798993,39 472482,1 798993,39
0,00 199605,94 97056,32 199605,94 89378,16 527806,62 571689,4 527806,62
0,00 86890,31 188421,64 86890,31 21040,79 149635,53 453307,5 149635,53
0,00 14217,07 65279,9 14217,07 1516,38 18008,02 93240,65 18008,02
0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00

Ma trận S y 2

0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00


0,00 68052,56 166885,36 259033,59 246332,91 253726,25 121674,8 18008,02
0,00 485155,43 777667,79 535958,16 320832,05 480794,85 444209,2 98832,8
0,00 228040,07 147859,05 253441,44 229556,46 129541,5 110490,5 59402,94
0,00 44737,2 12131,06 50802,73 52319,12 18766,22 14217,07 12700,68
0,00 228040,07 147859,05 253441,44 229556,46 129541,5 110490,5 59402,94
0,00 485155,43 777667,79 535958,16 320832,05 480794,85 444209,2 98832,8
0,00 68052,56 166885,36 259033,59 246332,91 253726,25 121674,8 18008,02
0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
ma trận S XY
0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
0,00 28434,13 86132,12 -5118,77 0 4360,58 - -18008,02
90207,88
0,00 192048,74 342817 -56320,75 758,19 54046,18 - -
388287,7 111533,48
0,00 188421,64 89474,4 154868,74 5592,15 - - -
131008,47 206550,6 153377,07
0,00 0 0 0 0 0 0 0
0,00 -188421,64 -89474,4 -154868,74 -5592,15 131008,47 206550,6 153377,07
0,00 -192048,74 -342817 56320,75 -758,19 -54046,18 388287,7 111533,48
0,00 -28434,13 -86132,12 5118,77 0 -4360,58 90207,88 18008,02
0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00

- Ta thu được giá trị các ma trận ∑ S x , ∑ S y , ∑ S xy


2 2

ma trận ∑ S x 2

354808,92 455916,30 377366,09 291308,10 736748,85 881835,23 714191,68


651471,18 952184,50 763406,51 1108098,8 1925623,0 2509137,87 1813687,7
2 3 0
1027107,5 1546289,3 1269082,5 2237592,1 3215889,4 4450350,01 2973914,4
9 0 2 8 0 7
1048457,9 1680355,2 1358770,2 2796816,2 3780779,7 5325074,11 3470467,4
0 4 0 7 8 8
1027107,5 1546289,3 1269082,5 2237592,1 3215889,4 4450350,01 2973914,4
9 0 2 8 0 7
651471,18 952184,50 763406,51 1108098,8 1925623,0 2509137,87 1813687,7
2 3 0
354808,92 455916,30 377366,09 291308,10 736748,85 881835,23 714191,68

- Ma trận ∑ S y 2

1497761,1 2292752,8 2306709,8 2096677,8 1867570,0 1417245,88 682724,7


4 9 6 1 2 8
1873660,2 2922093,4 2937566,8 2709217,2 2337158,4 1716680,80 852618,2
6 5 1 1 6 0
1695590,6 2535792,9 2380567,8 2072012,5 1800726,9 1368955,72 739853,1
0 3 6 3 3 5
808666,50 1366352,1 1376966,8 1346966,8 1024479,2 644553,81 366704,5
1 1 7 9 9
1695590,6 2535792,9 2380567,8 2072012,5 1800726,9 1368955,72 739853,1
0 3 6 3 3 5
1873660,2 2922093,4 2937566,8 2709217,2 2337158,4 1716680,80 852618,2
6 5 1 1 6 0
1497761,1 2292752,8 2306709,8 2096677,8 1867570,0 1417245,88 682724,7
4 9 6 1 2 8

- Ma trận ∑ S xy
649431,99 587992,47 368267,79 -2274,57 -419330,61 -549630,30 -
608037,0
6
927328,03 1020757,2 618203,08 27177,85 -751297,54 - -
5 1040566,45 967964,7
4
812761,78 911309,77 537189,73 27936,04 -665450,24 -936711,13 -
859748,8
4
0,00 0,00 0,00 0,00 0,00 0,00 0,00
-812761,78 -911309,77 -537189,73 -27936,04 665450,24 936711,13 859748,8
4
-927328,03 - -618203,08 -27177,85 751297,54 1040566,45 967964,7
1020757,2 4
5
-649431,99 -587992,47 -368267,79 2274,57 419330,61 549630,30 608037,0
6

- Thiết lập ma trận H (2x2) có dạng


H¿
- Lúc này tại toạ độ (0,0) thì ta có :

H (0,0)=
[ 2

]
∑ S x (0,0 ) ∑ S xy (0,0) = 354808,92
[
∑ S xy(0,0) ∑ S y (0,0) 649431,99
2
649431,99
1497761,14 ]
 Bước 5: Tính giá trị Harris
R=Det (H )−k∗¿
- Vớik =0.04 – 0.06. Chọn k =0.06
- Do đó tại toạ độ (0,0) ta có:
2
R( 0,0)=354808,92∗1497761,14−649431,99 −0.06∗¿
Tương tự ta có được ma trận H
- 2,46E+1 3,03E+1 2,69E+1 7,93E+1 6,31E+1 8,05E+0
9,6E+10 1 1 1 1 1 8
- 8,4E+11 1,04E+1 2,13E+1 2,85E+1 2,15E+1 1,83E+1
2,2E+10 2 2 2 2 1
6,36E+1 2,09E+1 1,93E+1 3,52E+1 3,84E+1 3,18E+1 6,34E+1
1 2 2 2 2 2 1
6,41E+1 1,74E+1 1,42E+1 2,74E+1 2,49E+1 1,29E+1 3,89E+1
1 2 2 2 2 2 1
6,36E+1 2,09E+1 1,93E+1 3,52E+1 3,84E+1 3,18E+1 6,34E+1
1 2 2 2 2 2 1
- 8,4E+11 1,04E+1 2,13E+1 2,85E+1 2,15E+1 1,83E+1
2,2E+10 2 2 2 2 1
- 2,46E+1 3,03E+1 2,69E+1 7,93E+1 6,31E+1 8,05E+0
9,6E+10 1 1 1 1 1 8

Normalize và làm tròn các pixel của R theo range từ 0 – 255 ( Gía trị nhỏ nhất ta cho
là 0, giá trị cao nhất ta cho là 255 )
0 22 26 24 58 47
5 61 74 144 191 146
47 142 132 234 255 213
48 119 98 184 167 90
47 142 132 234 255 213
5 61 74 144 191 146
0 22 26 24 58 47
-
Threshold với ngưỡng 200, chuyển về ảnh BINARY ta được kết quả
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 255 255 0
0 0 0 0 0 0
0 0 0 255 255 0
0 0 0 0 0 0
0 0 0 0 0 0

 Sử dụng giải thuật shitomashi


- Tương tự các bước từ bước 1 đến bước 4 của giải thuật Harris
- Ở đây ta cũng tìm ma trận H (2x2) như ở đầu bước 5. Khi đó ma trận R sẽ
có kết quả:
R(i , j) =min(¿ λ 1 , λ 2)¿
- Với λ 1, λ 2: Trị riêng của ma trận H.
- Tại toạ đô (0,0) ta có ma trận H(0,0):

H (0,0)=
[ 2

]
∑ S x (0,0) ∑ S xy (0,0) = 187173
∑ S xy(0,0) ∑ S y (0,0) 187173
2
[ 187173
187173 ]
+ Khi đó trị riêng được tính theo công thức:
2
(187173−λ)∗(187173−λ)−187173 =0

{
¿ λ1=374346
¿ λ2=0
Ta có
R(0,0)=min(¿ λ1 , λ2 )=0 ¿

- Tương tự trượt trên các pixel còn lại trên 3 ma trận S x , S y , S xy ta thu được các ma
2 2

trận R
460529,90 994961,57 899614,0 742256,4 0,00 0,00 0,00
5 3
1149702,3 0,00 0,00 0,00 0,00 0,00 0,00
0
0,00 0,00 0,00 0,00 0,00 0,00 0,00
0,00 0,00 0,00 0,00 0,00 1554946,57 852893,93
0,00 0,00 0,00 0,00 0,00 0,00 0,00
1149702,3 0,00 0,00 0,00 0,00 0,00 0,00
0
460529,90 994961,57 899614,0 742256,4 0,00 0,00 0,00
5 3

- Normalize và làm tròn các pixel của R theo range từ 0 – 255 ( Gía trị nhỏ nhất ta cho
là 0, giá trị cao nhất ta cho là 255 )
75,52 163,17 147,53 121,72 0,00 0,00 0,00
188,54 0,00 0,00 0,00 0,00 0,00 0,00
0,00 0,00 0,00 0,00 0,00 0,00 0,00
0,00 0,00 0,00 0,00 0,00 255,00 139,87
0,00 0,00 0,00 0,00 0,00 0,00 0,00
188,54 0,00 0,00 0,00 0,00 0,00 0,00
75,52 163,17 147,53 121,72 0,00 0,00 0,00
- Threshold với ngưỡng 200, chuyển về ảnh BINARY ta được kết quả
0 0 0 0 0,00 0,00 0,00
0 0,00 0,00 0,00 0,00 0,00 0,00
0,00 0,00 0,00 0,00 0,00 0,00 0,00
0,00 0,00 0,00 0,00 0,00 255,00 0
0,00 0,00 0,00 0,00 0,00 0,00 0,00
0 0,00 0,00 0,00 0,00 0,00 0,00
0 0 0 0 0,00 0,00 0,00

You might also like