본문 바로가기

반응형

분류 전체보기

OpenCV의 findChessboardCorners와 Geiger et al. (2012) 논문에서 제안된 코너 감지 알고리즘의 주요 차이점#2 OpenCV의 findChessboardCorners와 Geiger et al. (2012) 논문에서 제안된 코너 감지 알고리즘의 주요 차이점을 정리하겠습니다.1. Corner Detection ApproachOpenCV:전통적인 Harris Corner Detector 또는 Shi-Tomasi Corner Detector를 사용하여 코너를 찾습니다.코너 응답 점수 RRR를 기반으로 코너를 감지합니다. 응답 점수는 텐서의 고유값을 사용해 계산하며, 단순한 명암 대비 기반의 코너 감지입니다.이후, cornerSubPix를 통해 감지된 코너의 위치를 소수점 수준까지 정제합니다.Geiger et al.:Harris 또는 Shi-Tomasi 대신 전용 필터 기반 프로토타입을 사용하여 코너 감지.두 가지 프로토타.. 더보기
Geiger2012ICRA detection과 OpenCV Findchesscorner 비교 논문의 Corner Detection 방법과 OpenCV findChessboardCorners, 그리고 일반적인 Corner Detection 알고리즘(Harris 및 Shi-Tomasi)과의 성능 비교를 다음과 같이 정리할 수 있습니다. 주요 비교 지표는 정확도, 속도, 왜곡과 조명에 대한 견고성, 다중 Checkerboard 지원 여부로 나눌 수 있습니다.1. 비교 기준 및 설명기준 논문 방법 OpenCV findChessboardCorners Harris/Shi-Tomasi정확도매우 높음 - Sub-pixel 정확도 제공중간 - Checkerboard 기반 최적화낮음 - 일반 코너 감지속도느림 (고급 필터 및 최적화 사용)빠름매우 빠름왜곡 및 조명 견고성높음 - 왜곡 및 조명 변화에 강건함낮음 -.. 더보기
Libcbdetect Calibration 함수 분석 #1 image_normalization_and_gradients함수는 입력 이미지(img)를 정규화하고, 이미지의 x, y 방향 미분(gradient), 각도(angle), 그리고 gradient의 크기(weight)를 계산하는 함수입니다. 주요 동작은 다음과 같습니다:주요 동작 요약이미지 정규화 (Normalization)params.norm이 true일 경우, 박스 필터(box_filter)로 이미지를 블러링한 후 원본 이미지에서 빼서 정규화합니다.정규화된 이미지는 특정 범위로 스케일링됩니다.Sobel 마스크 생성x, y 방향의 Sobel 마스크(du, dv)를 생성합니다.이미지 미분 계산cv::filter2D를 사용해 x, y 방향의 미분(img_du, img_dv)을 계산합니다.각도 및 크기 계산각도.. 더보기
Dense Optical flow by block matching Block Matching 알고리즘을 사용하여 Dense Optical Flow를 계산하면서, 가우시안 피라미드(Gaussian Pyramid)를 5 레벨로 구성하여 성능을 개선하는 방법을 구현할 수 있습니다. 가우시안 피라미드는 이미지의 여러 레벨에서의 흐름을 계산하여 보다 정확한 Optical Flow를 추정하는 데 도움이 됩니다.아래는 Block Matching 방법을 사용하여 Dense Optical Flow를 계산하고, 가우시안 피라미드를 5 레벨로 구성하는 Python 코드입니다. OpenCV의 cv2.calcOpticalFlowBM을 사용하여 각 피라미드 레벨에서 Optical Flow를 계산한 후, 상위 레벨로의 흐름을 보간하여 최종 Optical Flow를 생성합니다.### **Pytho.. 더보기