Hugin
Hugin은 서로 겹치는 영역을 가진 여러 장의 사진을 정렬·변환한 뒤 하나의 넓은 이미지나 구면 파노라마로 합성하는 자유·오픈 소스 사진 편집 소프트웨어다. Pablo d'Angelo의 초기 작업을 기반으로 2003년 5월 첫 0.1 버전이 공개되었으며, Panorama Tools 생...
| 작성 언어 | C++, Python (일부 자동화·도구) |
|---|---|
| 분류 | 파노라마 스티칭·사진 정렬·렌즈 보정 소프트웨어 |
| 초기 개발 | Pablo d'Angelo |
| 개발·배포 | Hugin 프로젝트·Panorama Tools 공동체 |
| 최초 공개 | 2003년 5월(0.1) |
| 라이선스 | GNU GPL 기반 자유·오픈 소스 |
| 지원 플랫폼 | Linux·Windows·macOS·다른 UNIX 계열 |
| 기반 기술 | Panorama Tools·libpano13 |
| 핵심 기능 | 다중 사진 정렬·파노라마 합성·투영 변환 |
| 사진 정렬 | 제어점(control point)·카메라 자세·렌즈 파라미터 최적화 |
| 제어점 생성 | cpfind 및 외부 검출기 연동 |
| 렌더링 | nona 스티처, enblend·enfuse 등의 결합 |
| 출력 투영 | 직선·원통·정거원통·어안 등 |
| 고급 처리 | HDR·노출 융합·초점 스태킹·비네팅 보정 |
| 프로젝트 파일 | PTO |
| 확인된 릴리스 | 2025.0.1 (2025년 12월 13일) |
| 공식 웹사이트 | Hugin |
Hugin은 서로 겹치는 영역을 가진 여러 장의 사진을 정렬·변환한 뒤 하나의 넓은 이미지나 구면 파노라마로 합성하는 자유·오픈 소스 사진 편집 소프트웨어다. Pablo d'Angelo의 초기 작업을 기반으로 2003년 5월 첫 0.1 버전이 공개되었으며, Panorama Tools 생태계의 그래픽 사용자 인터페이스와 여러 명령행 처리 도구를 결합하는 형태로 발전했다. 단순히 사진을 옆으로 나란히 배치하는 프로그램이 아니라 카메라의 촬영 방향·렌즈 왜곡·투영과 노출 차이를 함께 모델링하여 서로 다른 사진의 겹치는 부분을 최대한 일치시키는 시스템이다. Linux·Windows·macOS와 일부 UNIX 계열에서 실행할 수 있으며, 공식 다운로드 기록에는 2025년 12월의 2025.0.1 릴리스가 포함된다.[1][2]
Hugin의 기하학적 정렬은 두 사진에서 같은 실제 지점을 가리키는 제어점(control point)을 기준으로 한다. 사용자는 일치하는 지점을 직접 지정하거나 cpfind 같은 자동 검출기로 찾을 수 있다. 최적화기는 각 사진의 yaw·pitch·roll 방향, 화각과 렌즈 왜곡 모델의 매개변수를 조정하여 제어점 사이의 재투영 오차를 줄인다. 초점거리·화각과 방사형 왜곡, 이미지 중심 이동 같은 렌즈 파라미터는 최종 경계의 뒤틀림에 영향을 미치므로 촬영 장비의 정보와 사진의 실제 겹침 정도를 함께 고려해야 한다. 단순한 사진의 평행 이동으로 해결할 수 없는 광각·어안 사진의 파노라마 합성에 특히 중요한 방식이다.[3]
사진을 같은 공간에 정렬한 뒤에는 결과물을 어떤 기하학적 투영으로 표현할지 선택한다. 직선 투영(rectilinear)은 좁은 화각에서 직선 형태를 보존하는 데 적합하고, 원통 투영(cylindrical)은 수평 방향으로 넓은 장면을 펼치는 데 사용하며, 정거원통 투영(equirectangular)은 전방위 장면을 가로 360도·세로 180도로 표현하는 데 사용한다. 스티칭 결과를 얻는 과정에는 nona 같은 재투영·스티처와 enblend·enfuse를 통한 경계 혼합·노출 융합을 사용할 수 있다. 사진마다 화이트 밸런스·비네팅과 노출이 다르면 최종 그림의 경계가 눈에 띄기 때문에 기하학적 정렬과 광도 보정은 서로 구별되는 두 작업 단계다.[4][5]
Hugin은 단일 열의 단순 파노라마뿐 아니라 여러 행으로 촬영한 모자이크, 노출 브래킷으로 만든 HDR·노출 융합 이미지, 포커스 스태킹과 한 장의 사진에 대한 원근·렌즈 보정에도 활용할 수 있다. 작업 프로젝트인 PTO 파일은 입력 이미지의 위치와 렌즈·투영 매개변수 등을 기록하고, 최종 TIFF·JPEG 등의 결과물은 계산된 이미지 픽셀을 저장하므로 두 자료를 분리해 보관해야 한다. 자동 제어점 검출이나 혼합 알고리즘이 모든 문제를 해결하지는 못한다. 가까운 물체의 시차(parallax), 움직이는 피사체와 촬영 위치의 변동이 크면 사진 간 기하 관계가 맞지 않아 고스트·이중 윤곽이 남을 수 있으며, 촬영 단계에서 회전 중심과 겹침 범위를 관리하는 것도 필요하다.[6]