hello
Mình thử tìm biên với toán tử la bàn theo công thức
Với toán tử la bàn 8 hướng krisch
Nhưng khi mình thử thì ma trận tổng của 8 ma trận kết quả = 0, không biết thế nào mà lại trùng hợp đến vậy
Ma trận ảnh ban đầu nhân chập với ma trận nhận chập vẫn cho ra kết quả đúng, nhưng tổng 8 ma trận này = 0
Ví dụ: GRAY là ma trận ảnh, SUMA là ma trận kết quả tổng khởi tạo, SUMB là ma trận tổng, SUMC là ma trân sau khi tách ngưỡng kết quả
Từ SUM0…SUM7 là tổng ma trận kết quả của từng lần nhân chập
Từ DES0…DES7 là kết quả từng lần nhân chập
Từ KERNEL0…KERNEL7 là các kernel nhân chập
Mình dùng công thức nhân chập mà kết quả biến đổi nằm ở góc trên bến trái, các phần tử mở rộng gán bằng hằng số 0, với origin của kernel ở giữa,
> GRAY
> [<<] Output matrix:
> Save: (R,G,B) | Output: (R,G,B)
> Row: 6
> Col: 6
> 1 2 4 5 8 7
> 2 31 1 4 2 2
> 4 5 5 8 8 2
> 1 2 1 1 4 4
> 7 2 2 1 5 2
> 7 2 2 1 5 2
> SUMA
> [<<] Output matrix:
> Save: (R,G,B) | Output: (R,G,B)
> Row: 6
> Col: 6
> 0 0 0 0 0 0
> 0 0 0 0 0 0
> 0 0 0 0 0 0
> 0 0 0 0 0 0
> 0 0 0 0 0 0
> 0 0 0 0 0 0
> KERNEL0
> [<<] Output matrix:
> Save: (R,G,B) | Output: (R,G,B)
> Row: 3
> Col: 3
> 5 5 -3
> 5 0 -3
> -3 -3 -3
> DES0
> [<<] Output matrix:
> Save: (R,G,B) | Output: (R,G,B)
> Row: 6
> Col: 6
> -105 -109 -113 -25 -20 28
> -121 -32 104 -43 4 55
> -107 155 137 2 31 36
> -28 -1 18 10 43 49
> -34 8 4 -31 -12 44
> 23 68 24 -5 23 60
> SUM0
> [<<] Output matrix:
> Save: (R,G,B) | Output: (R,G,B)
> Row: 6
> Col: 6
> -105 -109 -113 -25 -20 28
> -121 -32 104 -43 4 55
> -107 155 137 2 31 36
> -28 -1 18 10 43 49
> -34 8 4 -31 -12 44
> 23 68 24 -5 23 60
> KERNEL1
> [<<] Output matrix:
> Save: (R,G,B) | Output: (R,G,B)
> Row: 3
> Col: 3
> 5 5 5
> -3 0 -3
> -3 -3 -3
> DES1
> [<<] Output matrix:
> Save: (R,G,B) | Output: (R,G,B)
> Row: 6
> Col: 6
> -105 -117 -129 -57 -60 -36
> -105 -16 -104 13 28 39
> 141 131 129 -22 -17 -28
> 12 31 66 66 51 17
> -18 -40 -4 -15 12 4
> 39 28 16 19 31 20
> SUM1
> [<<] Output matrix:
> Save: (R,G,B) | Output: (R,G,B)
> Row: 6
> Col: 6
> -210 -226 -242 -82 -80 -8
> -226 -48 0 -30 32 94
> 34 286 266 -20 14 8
> -16 30 84 76 94 66
> -52 -32 0 -46 0 48
> 62 96 40 14 54 80
> KERNEL2
> [<<] Output matrix:
> Save: (R,G,B) | Output: (R,G,B)
> Row: 3
> Col: 3
> -3 5 5
> -3 0 5
> -3 -3 -3
> DES2
> [<<] Output matrix:
> Save: (R,G,B) | Output: (R,G,B)
> Row: 6
> Col: 6
> -89 -85 -89 7 -4 -36
> 143 -16 -88 -3 4 -25
> 181 155 -55 34 -33 -44
> 28 7 34 58 19 -47
> -2 -32 -12 17 20 -28
> 55 -12 8 43 39 -20
> SUM2
> [<<] Output matrix:
> Save: (R,G,B) | Output: (R,G,B)
> Row: 6
> Col: 6
> -299 -311 -331 -75 -84 -44
> -83 -64 -88 -33 36 69
> 215 441 211 14 -19 -36
> 12 37 118 134 113 19
> -54 -64 -12 -29 20 20
> 117 84 48 57 93 60
> KERNEL3
> [<<] Output matrix:
> Save: (R,G,B) | Output: (R,G,B)
> Row: 3
> Col: 3
> -3 -3 5
> -3 0 5
> -3 -3 5
> DES3
> [<<] Output matrix:
> Save: (R,G,B) | Output: (R,G,B)
> Row: 6
> Col: 6
> 159 -77 -57 23 12 -36
> 175 8 -56 21 -44 -81
> 181 -85 -55 34 -17 -60
> 12 -17 2 34 -29 -63
> 6 -32 -12 49 4 -60
> -1 -28 -8 35 -1 -36
> SUM3
> [<<] Output matrix:
> Save: (R,G,B) | Output: (R,G,B)
> Row: 6
> Col: 6
> -140 -388 -388 -52 -72 -80
> 92 -56 -144 -12 -8 -12
> 396 356 156 48 -36 -96
> 24 20 120 168 84 -44
> -48 -96 -24 20 24 -40
> 116 56 40 92 92 24
> KERNEL4
> [<<] Output matrix:
> Save: (R,G,B) | Output: (R,G,B)
> Row: 3
> Col: 3
> -3 -3 -3
> -3 0 5
> -3 5 5
> DES4
> [<<] Output matrix:
> Save: (R,G,B) | Output: (R,G,B)
> Row: 6
> Col: 6
> 175 171 -49 55 28 -20
> 191 16 -56 21 -36 -65
> -59 -77 -79 26 -1 -28
> 28 -41 -46 -22 -5 -47
> 46 -24 -4 25 12 -44
> -17 -44 -16 -5 -17 -36
> SUM4
> [<<] Output matrix:
> Save: (R,G,B) | Output: (R,G,B)
> Row: 6
> Col: 6
> 35 -217 -437 3 -44 -100
> 283 -40 -200 9 -44 -77
> 337 279 77 74 -37 -124
> 52 -21 74 146 79 -91
> -2 -120 -28 45 36 -84
> 99 12 24 87 75 -12
> KERNEL5
> [<<] Output matrix:
> Save: (R,G,B) | Output: (R,G,B)
> Row: 3
> Col: 3
> -3 -3 -3
> -3 0 -3
> 5 5 5
> DES5
> [<<] Output matrix:
> Save: (R,G,B) | Output: (R,G,B)
> Row: 6
> Col: 6
> 159 155 159 -1 4 -4
> -57 40 -48 45 12 -1
> -99 -109 -127 -30 -9 4
> 12 7 -38 -38 -29 -7
> 30 16 4 1 4 -4
> -33 -60 -24 -45 -33 -36
> SUM5
> [<<] Output matrix:
> Save: (R,G,B) | Output: (R,G,B)
> Row: 6
> Col: 6
> 194 -62 -278 2 -40 -104
> 226 0 -248 54 -32 -78
> 238 170 -50 44 -46 -120
> 64 -14 36 108 50 -98
> 28 -104 -24 46 40 -88
> 66 -48 0 42 42 -48
> KERNEL6
> [<<] Output matrix:
> Save: (R,G,B) | Output: (R,G,B)
> Row: 3
> Col: 3
> -3 -3 -3
> 5 0 -3
> 5 5 -3
> DES6
> [<<] Output matrix:
> Save: (R,G,B) | Output: (R,G,B)
> Row: 6
> Col: 6
> -89 155 143 15 28 60
> -97 16 136 -11 28 15
> -115 -85 -95 -22 23 68
> -4 -1 -30 -70 -37 25
> 14 56 12 -23 -4 36
> -33 -4 -8 -29 -25 4
> SUM6
> [<<] Output matrix:
> Save: (R,G,B) | Output: (R,G,B)
> Row: 6
> Col: 6
> 105 93 -135 17 -12 -44
> 129 16 -112 43 -4 -63
> 123 85 -145 22 -23 -52
> 60 -15 6 38 13 -73
> 42 -48 -12 23 36 -52
> 33 -52 -8 13 17 -44
> KERNEL7
> [<<] Output matrix:
> Save: (R,G,B) | Output: (R,G,B)
> Row: 3
> Col: 3
> 5 -3 -3
> 5 0 -3
> 5 -3 -3
> DES7
> [<<] Output matrix:
> Save: (R,G,B) | Output: (R,G,B)
> Row: 6
> Col: 6
> -105 -93 135 -17 12 44
> -129 -16 112 -43 4 63
> -123 -85 145 -22 23 52
> -60 15 -6 -38 -13 73
> -42 48 12 -23 -36 52
> -33 52 8 -13 -17 44
> SUM7
> [<<] Output matrix:
> Save: (R,G,B) | Output: (R,G,B)
> Row: 6
> Col: 6
> 0 0 0 0 0 0
> 0 0 0 0 0 0
> 0 0 0 0 0 0
> 0 0 0 0 0 0
> 0 0 0 0 0 0
> 0 0 0 0 0 0
> SUM B
> [<<] Output matrix:
> Save: (R,G,B) | Output: (R,G,B)
> Row: 6
> Col: 6
> 0 0 0 0 0 0
> 0 0 0 0 0 0
> 0 0 0 0 0 0
> 0 0 0 0 0 0
> 0 0 0 0 0 0
> 0 0 0 0 0 0
> SUM C
> [<<] Output matrix:
> Save: (R,G,B) | Output: (R,G,B)
> Row: 6
> Col: 6
> 255 255 255 255 255 255
> 255 255 255 255 255 255
> 255 255 255 255 255 255
> 255 255 255 255 255 255
> 255 255 255 255 255 255
> 255 255 255 255 255 255
> ^CTerminate batch job (Y/N)? y
Còn đây là ví dụ trên ảnh
tkank you