Kategori: Computer Vision , 20 Şubat 2020 , JanFranco
Bir önceki yazımızda Scale Invariant Feature Transform yani SIFT algoritmasını gördük, algoritmanın detayına indik, adımlarını anladık. Bu yazımızda Python üzerinde OpenCV kütüphanesi ile bir örnek yapacağız. Kütüphaneyi ve resmi alalım:
>>import cv2 img = cv2.imread('../data/pisa.jpg') copyImg = img.copy() richImg = img.copy() cv2.imshow('IMG', img) cv2.waitKey(0)
SIFT algoritmasını kullanabilmek için cv2.xfeatures2d.SIFT_create() sınıfından bir obje üretelim ve sınıfın detect methodunu kullanalım:gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
Keypointleri elde ettik ve kp değişkeninde sakladık. cv2.drawPoints() methodu ile bu keypointleri görebiliriz:sift = cv2.xfeatures2d.SIFT_create() kp = sift.detect(gray, None)
>>cv2.drawKeypoints(gray, kp, outImage=copyImg) cv2.imshow('SIFT without Flag', copyImg) cv2.waitKey(0)
>>cv2.drawKeypoints(gray, kp, outImage=richImg, flags=cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS) cv2.imshow('SIFT with Flag', richImg) cv2.waitKey(0)