Corner Harris adalah suatu algoritma yang digunakan untuk mendeteksi titik sudut sertamampu menghasilkan nilai yang konsisten walau dengan adanya rotasi, skala, variasi pencahayaan maupun noise pada objek yang dideteksi.Corner Harrisdidasarkan pada fungsi autokorelasi sinyal lokal di mana fungsi autokorelasi lokal akan menghitung perubahan lokal dari sinyal. Untuk menentukan suatu titik dapat dianggap sebagai titik sudut adalah jika kedua titik tersebut sisinya bertemu (misalkan yaitu titik dimana bertemunya dua buah garis miring). Titik sudut tidak akan bisa didefinisikan pada piksel tunggal, karena hanya ada satu gradien per titik. Algoritma corner harrisini menghitung selisih dari perpindahan pixel intensity dengan window disekelilingnya. Sabagai contoh ada sebuah citra grayscale, perbedaan (selisih) antara origianal window dan window tetangganya E(u,v) adalah:
dengan u adalah displacement atau perpindahan pada arah x, v adalah perpindahan pada arah y. w(x,y) adalah window pada kordinat x dan y. I adalah intesitas piksel pada kordinat (x,y). I (x+u,y+v) adalah pixel intensity pada kordinat (x+u, y+ v). perumusantersebut cukup rumit untuk diselesaikan sehingga kita perlu menyederhanakan dengan menggunakan ekspansi Taylor. Khususnya pada bagian dalam kurung kurawal
Dengan menggunakan ekspansi Taylor dua dimensi dan hanya mengambil sisi linear saja, kita dapat menyederhanakan persamaan tersebut. Berikut adalah rumus ekspansi Taylor
Dengan mengekspansi I(x+u, y+v) kita akan
mendapatkan persamaan berikut:
Dengan mensubstitusi persamaan (4) ke persamaan (1), serta menulis dalam notasi matriks kita akan mendapatkan persamaan berikut:
Selanjutnya variabel dalam kurung di atas akan dinotasikan sebagai M, sehingga persamaan akan menjadi seperti berikut:
Dari persamaan (5) setelah dilakukan perubahan notasi variabel dalam kurung sepertti persamaan (6) maka persamaannya menjadi seperti berikut:
Varabel R merupakan kondisi terakhir dari perumusan, R akan mewakilkan apakah titik hasil perhitungan di anggap sudut atau bukan. Nilai R dihitung dengan menggunakan rumus sebagai berikut:
Nilai R tertentu dapat menentukan suatu daerah dianggap sudut atau bukan. Nilai u, v dan k adalah parameter input (Prayoga, 2013).Ada beberapa parameter fungsi pada proses menggunaan algoritma corner harris seperti berikut:
1. img – Input gambar, harus grayscale dan tipe float32.
2. blockSize – Ini adalah ukuran neighbourhood yang dipertimbangkan untuk deteksi sudut
3. ksize – parameter Aperture dari turunan Sobel digunakan.
4. k – parameter bebas detektor Harris
Pada algoritma Corner Harris satu titik pojok(sudut) akan mudah dikenali dengan menggunakan suatu nilai intensitas pada jendela (window) yang kecil yaitu pada suatu titik sudut dengan menggeser window tersebut ke segala arah sehingga didapatkan nilai perbedaan yang besar