이 글의 원문은 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()
위 코드에 대한 실행 결과는 다음과 같습니다.