박민혀기
CELLON II(Feature matching) 본문
이미지 특징점
서로 매칭이 되는지 확인 할 때 특징점을 비교하는 경우가 多
보통 특징점이 되는 부분은 물체의 모서리나 코너
코너를 검출하기 위한 방법(OpenCV에서 제공)
1. Harris corner detection 알고리즘
경계값의 경사도 변화량을 측정하여 변화량이 수직, 수평, 대각선 방향으로 크게 변화하는 것을 코너로 판단
2. Harris corner detection보다 더 개선된 Shi & Tomasi Detection 알고리즘
3. detector.detect() 함수
- keypoints = detector.detect(img, mask): 특징점 검출 함수
img: 입력 이미지
mask(optional): 검출 제외 마스크
keypoints: 특징점 검출 결과 (KeyPoint의 리스트) - Keypoint: 특징점 정보를 담는 객체
pt: 특징점 좌표(x, y), float 타입으로 정수 변환 필요
size: 의미 있는 특징점 이웃의 반지름
angle: 특징점 방향 (시계방향, -1=의미 없음)
response: 특징점 반응 강도 (추출기에 따라 다름)
octave: 발견된 이미지 피라미드 계층
class_id: 특징점이 속한 객체 ID - outImg = cv2.drawKeypoints(img, keypoints, outImg, color, flags)
img: 입력 이미지
keypoints: 표시할 특징점 리스트
outImg: 특징점이 그려진 결과 이미지
color(optional): 표시할 색상 (default: 랜덤)
flags(optional): 표시 방법 (cv2.DRAW_MATCHES_FLAGS_DEFAULT: 좌표 중심에 동그라미만 그림(default), cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS: 동그라미의 크기를 size와 angle을 반영해서 그림)
FAST(Feature from Accelerated Segment Test)
기존 검출기보다 속도가 빠른 검출기이다. 코너를 검출할 때 미분 연산X
SimpleBlobDetector
BLOB(Binary Large Object)는 이진 스케일로 연결된 픽셀 그룹을 말함 SimpleBlobDetector는 자잘한 객체는 노이즈로 여기고 특정 크기 이상의 큰 객체만 찾아내는 검출기이다.
'CELLON II > Ref' 카테고리의 다른 글
CELLON II(Video Reference) (0) | 2023.01.21 |
---|---|
CELLON II(Simple Blob Detector) (0) | 2023.01.13 |
CELLON II(FindContours, minRect) (0) | 2023.01.13 |