opencv
-
좋은 매칭 선별컴퓨터 비젼(Computer Vision)/특징점 검출과 매칭 2022. 2. 22. 15:22
선별 방법 1. 가장 좋은 매칭 결과에서 distance 값이 작은 것 N개를 사용 cv2.DMatch.distance 값을 기준으로 정렬 후 상위 N개 선별 ... matcher = cv2.BFMatcher_create() matches = matcher.match(desc1, desc2) # 좋은 매칭 결과 선별 matches = sorted(matches, key=labmda i: i.distance) # 거리별 오름차순 정렬 good_matches = matches[:80] # 상위 80개만 선별 # 특징점 매칭 결과 영상 생성 dst = cv2.drawMatches(src1, kp1, src2, kp2, good_matchers, None) ... 선별 방법 2. (SIFT에서 제안된 방법) 가..
-
특징점 기술컴퓨터 비젼(Computer Vision)/특징점 검출과 매칭 2022. 2. 22. 11:37
기술자(descriptor, feature vector) 특징점 근방의 부분 영상을 표현하는 실수 또는 이진 벡터 OpenCV에서는 2차원 행렬(np.ndarray)로 표현 행 개수: 특징점 개수 열 개수: 특징점 기술자 알고리즘에 의해 정의됨 실수 기술자 주로 특징점 부근 부분 영상의 방향 히스토그램을 사용 특징점 근방 부분 영상의 주 방향 성분을 계산하여 보정 보정된 사각형 영역을 4x4구역으로 분할 -> 각 구역에서 8방향 히스토그램을 구함 16x8 = 128 차원의 실수 벡터 생성 (알고리즘 마다 다름) SIFT, SURF, KAZE 등이 있음 L2 Norm을 사용하여 유사도 판단 이진 기술자 이진 테스트(binary test)를 이용하여 부분 영상의 특징을 기술 특징점주변 부분 영상을 잘라내어 ..
-
코너 검출컴퓨터 비젼(Computer Vision)/특징점 검출과 매칭 2022. 2. 21. 13:35
코너 객체의 뾰족한 부분 영상의 고유한 특징을 지님 코너의 특징 평탄한 영역과 에지 영역은 고유한 위치를 찾기 어려움 코너는 변별력이 높은 편이며, 영상의 이동, 회전 변환에 강인함 코너 검출 방법 해리스(Harris) 영상 내부 작은 영역이 모두 방향에 대해 변화가 큰 경우 코너로 규정 cv2.cornerHarris()를 이용하며 코너 응답 함수 R을 반환, R이 충분히 크면 코너로 구분 Local Maxima가 아닌 값이 검출 될 수 있음 Fast Features To Track Harris 코너 검출 방법의 향상된 버전 NMS 수행 cv2.goodFeaturesToTrack()을 사용하며, 이는 코너점 자체를 반환 FAST(Features from Acclerated Segment Test) 주변 ..
-
이진 영상 처리 - 영상의 이진화컴퓨터 비젼(Computer Vision) 2022. 2. 14. 10:43
영상의 픽셀 값을 0 또는 255로 만드는 연산 배경과 객체 또는 관심 영역과 비관심 영역을 구분하기 위해 수행 그레이스케일 영상의 이진화 g(x,y) = 0 if f(x, y)T T: Threshold 임계값 함수 cv2.thershold(src, thresh, maxval, type) -> retval, dst 자동 이진화 Otsu 이진화 방법 입력 영상이 배경과 객체 두 개로 구성되어 있다고 가정 (즉, Bimodal histogram) 임의의 임계값 T에 의해 나눠지는 두 픽셀 분포 그룹의 분산이 최소가 되는 T를 선택 일종의 최적화 알고리즘 지역 이진화 적응형 이진화 cv2.adaptiveThreshold(src, maxValue, adaptiveMethod, thresholdType, bloc..