파노라마를 생성합니다.
- [X]. 이미지 전처리, 노이즈 제거 (포함 시 추가 점수)
- [X]. 코너 포인트 찾기 (필수 구현)
- [X]. Point Matching (Correspondence) (필수 구현)
- [X]. RANSAC (포함 시 추가 점수)
- [X]. Homography 계산 (필수 구현)
- [X]. Stitching (필수 구현) (동작 불안정)
동작 불안정 원인은 찾았지만 해결하지 못했습니다. 좌우 끝 이미지들이 왜곡되면서 이미지 크기가 엄청 커지는 문제가 발생하고, 그로 인해 OOM이 발생합니다. 중앙 이미지 기준으로 stitching하는것을 시도했으나, 여전히 좌우 이미지가 커지는 문제가 발생했습니다. flatten을 시도했지만 이또한 실패하였습니다.
- [ ]. Group Adjustment (포함 시 추가 점수)
- [ ]. Tone Mapping (포함 시 추가 점수)
src/: 소스 코드docs/: 문서 및 결과 이미지HISTORY.md: 작업 히스토리sampleset1/: 샘플 이미지 세트 1 결과corner/: 코너 검출 결과 이미지matching/: 각 특징점(코너) 매칭 결과 이미지 셋homography/: homography 적용 결과 이미지 셋result_1to3.png: 샘플 이미지 세트 1의 stitching 결과 (1 ~ 3번째 장까지만 성공하여 따로 표기함)variant*.png: 실험적인 코드로 stitching 한 결과들 or 실패한 결과들
sampleset3/: 샘플 이미지 세트 2 결과corner/: 코너 검출 결과 이미지matching/: 각 특징점(코너) 매칭 결과 이미지 셋homography/: homography 적용 결과 이미지 셋result_1to4.png: 샘플 이미지 세트 3의 stitching 결과 (1 ~ 4번째 장까지만 성공하여 따로 표기함)variant*.png: 실험적인 코드로 stitching 한 결과들 or 실패한 결과들
index.ts: 메인 실행 파일
matching/폴더에 비주얼라이징된 매칭 코너들은 RANSAC 이전 결과 입니다. RANSAC 이후 결과는 따로 없지만 homography 부분에 RANSAC이 자동으로 적용되어 있습니다.
더 많은 사진은 여기에서 확인할 수 있습니다.
더 많은 사진은 여기에서 확인할 수 있습니다.
- nvm 설치 해당 프로젝트는 node v18.20.0에서 동작을 확인하였습니다. 정확한 버전을 설치하기 위해 nvm 설치를 권장드립니다.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bashor
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash- Node.js 설치
nvm install v18.20.0
nvm use v18.20.0- pnpm 설치
npm install -g pnpm- 이 프로젝트 의존성 설치
pnpm install- 실행
pnpm run start입력 이미지들은 ./(현재 프로젝트의 루트 폴더)에 위치해야 하며, 출력 이미지도 마찬가지로 ./ 폴더에 저장됩니다. 입력 이미지 경로와 출력 이미지 경로는 index.ts 파일에서 수정할 수 있습니다.

