Corner Detection

Kategori: Computer Vision , 28 Ocak 2020 , JanFranco


Bir önceki yazımızda template matching yöntemini görmüştük. Object detection serimizde corner detection ile devam ediyoruz. Corner yani köşe nedir diye düşünelim. İki kenarın birbiri ile genellikle dik açıda kesişmesi olarak yorumlayabiliriz. Harris corner detection algoritması da bu özelliğe dayanmaktadır. Template matching yazımızda olduğu gibi bu yazı da OpenCV kütüphanesinin kullanımı ile ilgilidir ve problemden temel olarak bahsedilmektedir. Detayları merak edenler için:

https://en.wikipedia.org/wiki/Harris_Corner_Detector

Corner detection prensibini arkasındaki matematik ile birlikte ayrıntılı olarak başka bir yazıda açıklayacağım. Kütüphaneleri ve resmi alalım:


import cv2

img = cv2.imread('../data/flat_chessboard.png')
cv2.imshow("Chess", img)
cv2.waitKey(0)
>>

Corner Detection

Resmi griye çevirelim. cornerHarris methodu ile köşeleri tespit edelim. dilate methodu ile köşeleri belirgin hale getirelim. Değeri maximum değer * 0.01 değerinden büyük olan pixelleri kırmızıya boyayalım:


grayImg = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
dst = cv2.cornerHarris(src=grayImg, blockSize=2, ksize=3, k=0.04)
dst = cv2.dilate(dst, None)

img[dst > 0.01 * dst.max()] = [0, 0, 255]
cv2.imshow("Chess", img)
cv2.waitKey(0)
>>

Corner Detection


Sonraki Yazı: Edge Detection
Yorumlar

Henüz bir yorum bulunmuyor.