Python과 OpenCV – 37 : ORB (Oriented FAST and Rotated BRIEF)을 이용한 이미지의 특징점 추출

이 글의 원문은 https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_feature2d/py_orb/py_orb.html 입니다.

ORB는 다른 특징점 추출 알고리즘과는 다르게 OpenCV 연구소에서 개발되었습니다. 특허권이 걸린 SIFT와 SURF를 대신할 수 있는데, 계산비용과 매칭 속도가 더 좋다고 합니다. ORG는 기본적으로는 FAST의 키포인트 검출기와 BRIEF의 기술자의 혼합하면서 속도를 더 개선 시켰다고 합니다. 결과적으로 ORB는 SURF와 SIFT보다 더 빠르고 더 잘 작동합니다. ORB는 저전력의 단말기에서도 잘작동하며 파노라마 이미지 생성을 위한 이미지 붙이기 등의 기능에 적합하다고 합니다.

OpenCV에서 ORB에 대한 예제 코드는 아래와 같습니다.

import numpy as np
import cv2

filename = './data/butterfly.jpg'
img = cv2.imread(filename, cv2.COLOR_BGR2GRAY)
img2 = None

orb = cv2.ORB_create()
kp, des = orb.detectAndCompute(img, None)

img2 = cv2.drawKeypoints(img, kp, None, (255,0,0), flags=0)
cv2.imshow('img2', img2)
cv2.waitKey(0)
cv2.destroyAllWindows()

위 코드에 대한 실행 결과는 다음과 같습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다