비주얼오도메트리와증강현실(AIE6660-01) 중간시험과제: automatic stitching of two images
이 프로젝트는 Sogang University의 두 가지 뷰를 캡처하고, 이 두 이미지를 기반으로 파노라마 이미지를 생성하는 것입니다. 이를 위해 ORB, Ransac 및 homography 알고리즘을 개발하고 적용하였습니다.
- Sogang University에서 두 가지 뷰 캡처.
- 두 입력에서 파노라마 이미지를 생성하기 위한 ORB + Ransac + homography 알고리즘 개발.
- 결과를 얻기 위해 알고리즘 적용.
- Sogang University에서 또 다른 두 가지 뷰 캡처.
- 출력 생성.
- GitHub Repository Link
- PDF 보고서: 문제, 알고리즘, 실험 결과에 대한 설명이 포함되어 있습니다.
- 소스 코드
- README.md: 보고서의 짧은 버전입니다.
- data
- input 파일, 파노라마를 만들기 위한 한 쌍의 이미지가 저장되어야 함. image{number}_1.jpg 형식으로 저장
- keypoint
- opencv의 cv2.ORB_create를 통해 만들어진 각 이미지의 keypoint(특징점의 위치)와 descriptor(keypoint 주변 위치의 특징 벡터)를 원본에 표시한 이미지
- keypoint_matches
- Hamming distance를 통한 Bruteforce matching을 수행한 후 Lowe's ratio test를 적용하여 match간 거리 비율이 0.75보다 낮은 match만 원본에 표시한 이미지
- ransac_homography_result
- RANSAC 알고리즘을 통해 찾아진 내부 데이터 (inliers)를 기반으로 필터링된 keypoint matching만 원본에 표시한 이미지
- result
- 최종 output 파일, 두 input 이미지를 RANSAC 알고리즘을 통해 계산된 homography 행렬(M)을 사용하여 왜곡하고 합성한 파노라마 이미지
project1.py를 실행한 후 원하는 이미지 쌍의 번호를 입력
> python project1.py
> 이미지 번호를 입력하세요 (예: 1, 2, ...): 3
- take two views in Sogang University.
input | output |
OpenCV | DIY |