목록Image Processing (4)
what i learned
설치환경 Ubuntu18.04: mac m1에서 VMware Fusion으로 mini.iso 를 사용하여 구동 설치순서 1. OpenCV 2. Eigen3 3. Pangolin 4. ORB_SLAM3 1. OpenCV 설치 OpenCV 설치 과정은 조금 길어서 아래의 링크를 참고하기! 참고링크 ➡️ [tistory] Ubuntu18.04에 OpenCV 4.2.0 설치하는 방법 trouble shooting OpenCV가 기존에 3.2.0과 4.2.0 2개의 버전이 설치되어 있어서 따로 설치하지 않고 ORB_SLAM3를 build하다가 OpenCV 4.4 이상의 버전이 없다는 오류발생으로 4.5.0을 설치해주었다. 2. Eigen3 설치 Eigen3 gitlab 링크: https://gitlab.com/l..
SLAM(Simultaneous Localization And Mapping) 위치 추정 및 지도를 동시에 작성하는 알고리즘이다. 💡 Localization & Mapping Localization(위치추정): 지도를 보고 실제 내 주변의 정보와 비교하여 현재 내 위치를 파악 Mapping(지도작성): 현재 내 위치를 알고 주변 환경에 대한 지도를 생성 Localization과 Mapping 어느 것이 먼저가 될 수 없기 때문에 최적화를 통해 이 문제를 해결하는 것이 SLAM의 특징이다. 로봇이 Localization과 Mapping을 하기 위해 카메라나 라이다를 사용하여 SLAM을 진행하는데, 카메라로 처리하는 것을 VSLAM(Visual SLAM), 라이다로 처리하는 것을 Lidar SLAM이라고 한..
이미지에서 특징점(keypoint)를 찾아서 물체를 추적하거나 인식한다. 좋은 특징점의 조건으로는 코너점(corner point)이 사용되어서 대부분의 물체 추적 알고리즘에서는 corner 검출을 사용한다. 특징점을 찾는 기본적인 방법으로는 작은 윈도우를 조금씩 이동시키면서 코너점일 경우 모든 방향으로 영상 변화가 크다는 것을 활용한다. [종류] 0. Moravec 1. Harris Corner 2. SIFT 2. FAST Corner 3. BRIEF 4. ORB 5. FLANN, AKAZE... 0. Moravec 각 픽셀위치를 수직, 수평, 좌우 대각선 방향으로 픽셀을 움직이면서 코너를 확인 1. Harris corner Moravec의 알고리즘을 보완 4방향이 아닌 2방향 X, Y 방향만 계산하고 ..
카메라에 calibration이 필요한 이유: 링크 calibration code import cv2 import numpy as np image_width, image_height = 640, 480 capture = cv2.VideoCapture(1) capture.set(cv2.CAP_PROP_FRAME_WIDTH, 640) capture.set(cv2.CAP_PROP_FRAME_HEIGHT, 480) def calibrate_image(src): global image_width, image_height # calibrate_mtx와 dist 각자 카메라에 맞는 mtx로 변경해 줘야 한다. calibrate_mtx = np.array([ [ 350.354184, 0.0, 328.104147], [..