구면 파노라마를 제작할 때, 가장 까다로운 부분 중의 하나가 바닥을 처리하는 것입니다. 360*180 VR 파노라마 촬영방법에서 설명한 것처럼, 삼각대와 로테이터만 있으면 모든 방향을 빠짐 없이, 정확하게 촬영할 수 있습니다.

하지만, 바닥은 삼각대를 치우고 손으로 촬영하여야 하기 때문에 카메라의 가상 렌즈초점(노달 포인트)를 맞출 수 없습니다. 따라서 합성(스티칭)을 하면 뒤틀어지거나 촬영자가 남게 되는데, 이를 편집하기가 까다롭기 때문입니다.

그러다보니 지금까지 제가 바닥을 처리하는 방법에 관해 쓴 글이 아래와 같이 5개나 됩니다.
현재 제가 사용하는 방법은 맨 아래에 있는 글, 즉 포토샵에서 Panotools 플러그인을 이용해 바닥을 처리하는 방법을 사용하고 있습니다. 그런데, 이 글을 쓴 뒤 계속 적용해 보면서 약간씩 방법을 개선해 왔기 때문에 다시 정리하기로 했습니다.

PanoTools Plugin 설치방법


먼저 Panotools 최신버전(2007년 4월 버전)은 여기에서 다운로드 받을 수 있습니다. 읽어보기 귀찮으시면 PanoTools12_2007Apr25.zip 파일을 다운로드 받으신 후 압축을 풀고, setup.exe를 실행시키기만 하면 됩니다. 이 프로그램을 실행시키면 Windows/system32 에 pano12.dll이라는 파일이 복사되고, 포토샵 프로그램에도 아래와 같은 디렉토리가 자동 생성됩니다. (기타 여러가지 도구도 설치됩니다.)

C:\Program Files\Adobe\Adobe Photoshop CS2\Plug-Ins\Panorama Tools

참고로, 구버전 사용법(예 : cubicpan.co.kr의 매뉴얼)을 보면 PanCntrl.zip 이라는 파일을 별도로 받아 위에서 생성된 디렉토리에 복사해서 넣어주라고 되어 있지만, 전혀 그럴 필요가 없습니다.

또 가끔 pano12.dll이 잘못되었다는 에러가 발생하기도 하는데, 이 경우엔 2005년 버전의 pano12.dll 을 다운로드 받아서, 윈도즈 system32 폴더(예 :
C:\Windows\system32) 에 설치하면 됩니다.

이런 준비를 마친 후, 포토샵을 실행시키면 Filters 메뉴  하단에 아래와 같이 "Panorama Tools"라는 메뉴가 추가됩니다.

사용자 삽입 이미지

PanoTools Plugin 사용방법


PanoTools에 들어 있는 4가지 필터중, 바닥처리에 사용되는 필터는 PTAdjust과 PTRemap 두가지입니다. 그중에서도 가장 핵심은 PTAdjust로서, 이 필터를 실행시키면 아래와 같은 다이얼로그 박스가 뜨는데, 먼저 Prefs 단추를 눌러줍니다.

사용자 삽입 이미지

이 버튼을 누르고 들어가면 아래와 같은 화면이 뜨는데, 결과 파일을 처리하는 방식을 설정할 수 있습니다. 대략 아래 화면에서 보이는대로 설정하면 문제없이 사용하실 수 있습니다. 특히, 기존 나와있는 방식에서는 (a)를 체크하라고 되어 있지만, 그럴 필요가 없습니다. (a)를 체크하면 원본 영상이 변환된 영상으로 대체되는데 이 영상은 필요가 없기 때문입니다. (a)를 클릭하지 않으면 원본 영상이 계속 남아 있게 됩니다.

사용자 삽입 이미지

이렇게 설정한 후 OK 단추를 누르고, 다시 "Set" 단추를 누르면 다음과 같은 화면이 나옵니다. 왼쪽 밑에 있는 Width, Height 는 원본 파노라마의 크기를 입력하시면 되고, 그 바로 위에 있는 Width, Height는 1/4로 설정하면 됩니다. 저는 요즘 파노라마를 8000*4000 크기로 제작하기 때문에 아래와 같이 설정을 했습니다.

사용자 삽입 이미지

이렇게 설정을 한 뒤 OK 버튼, 또다시 OK 버튼을 누르면 다음과 같은 화면이 나오면서 처리가 진행됩니다.

사용자 삽입 이미지

아래는 제가 얼마전 올림픽공원에 들렀다가 촬영한 영상입니다.

사용자 삽입 이미지

아래는 이렇게 실행한 (PTAdjust 플러그인에서 extract를 선택하고 실행한 상태) 결과입니다. 보시는 것처럼, 삼각대와 로테이터를 수직으로 내려보는 상태로 변환되었습니다.

사용자 삽입 이미지

이처럼 바닥이 특징이 없는 사진들의 경우엔 그냥 포토샵에서 스탬프(Clone Stamp) 도구로 비슷한 부분을 복사해서 붙이는 것이 가장 좋습니다. 아래가 그 결과입니다.

사용자 삽입 이미지

이렇게 바닥처리가 완료되면 이것을 원래 파일에 다시 붙여줍니다. 이때, 필터(Filter) -> Panorama Tools -> PTAdjust 를 누른 후, 아래와 같이 Insert를 선택하고 OK를 눌러주면 됩니다.

사용자 삽입 이미지

아래가 그 결과입니다.  그림자가 길 경우 아래처럼 사진기의 모습이 남아 있는데, 이 상태에서 스탬프(Clone Stamp) 도구를 써서 조금만 더 편집을 해주면 됩니다.

사용자 삽입 이미지

아래는 모두 완성된 360도 구면 파노라마를 삽입시켜 본 것입니다. 가운데 있는 삼각형을 누르신 후, 좌측위의 Full Screen을 누르고 마우스로 드래그 하시면 전체를 둘러볼 수 있습니다.


올림픽공원 소마미술관 가족 in 서울

바닥을 다른 사진으로 교체할 때


위의 사진은 바닥이 잔디밭이라서 대충 비슷한 것을 복사해 넣기만 하면 그럴 듯하게 땜빵할 수 있습니다. 그래서 가능한한 구면 파노라마는 바닥이 무늬가 없이 단순한 곳에서 촬영하는 것이 좋습니다. 그렇지 않은 경우에는 바닥면을 별도로 촬영하고 이 사진을 이용해 땜빵 해야 합니다. 사실 이 작업은 적잖이 귀찮기도 하고 초보자들은 매우 어렵습니다. 저도 한 200장 정도 처리하고 나니까 어느정도 자신이 생겼을 정도입니다. 어쨌든 이런 경우를 처리하는 방법에 대해 설명드리겠습니다.

이번엔 아래 파노라마 사진을 사용해서 처리해 보겠습니다. 이 사진도 올림픽 공원에서 촬영한 것입니다.

사용자 삽입 이미지

이 사진에 PTAdjust 필터를 걸면 아래와 같은 바닥이 만들어집니다. 이런 경우를 스탬프 툴로 복사해서 그럴듯하게 때우는 건 거의 불가능에 가깝습니다.

사용자 삽입 이미지

아래는 제가 촬영한 바닥사진입니다. 그런데, 이 사진을 그냥 사용할 수는 없습니다. 10.5mm 어안렌즈를 사용하여 촬영했기 때문에 아래에서 보시는 것처럼 바닥선이 왜곡되어 있거든요.

사용자 삽입 이미지

Filter -> Pano Tools -> PTRemap을 실행시키면 아래와 같은 화면이 뜨는데, 좌측에서 Fisheye Hor. 우측에서 Normal을 선택하면 어안렌즈로 촬영한 사진의 왜곡을 바로잡아 줄 수 있습니다. 아래에 있는 HFOV와 VFOV 값은 렌즈의 종류에 따라 달라지는 값으로서, 박제성님이 운영하시는 HDVR Panorama 사이트의 파노라마 렌즈 데이터베이스를 참고하시면 됩니다. 제가 가지고 있는 니코르 10.5mm 어안렌즈는 아래와 같이 설정하면 되고요.

사용자 삽입 이미지

이 상태에서 OK를 눌러주면 아래와 같이 왜곡이 사라집니다. 이런 과정이 불편하시면 바닥사진만 일반렌즈로 갈아끼우고 촬영할 수도 있습니다만, 아무래도 번거럽겠죠.

사용자 삽입 이미지

이 파일에서 삼각대/그림자가 차지하고 있는 부분을 적당히 잘라내고, PTAdjust로 만들진 바닥사진에 붙여넣어줍니다. 그리고 투명도를 50%정도로 설정하면 아래와 같게 됩니다.

사용자 삽입 이미지

대부분 PTRemap으로 만들어진 영상의 크기가 크기 때문에, 크기를 대략 맞춰주고 회전을 시켜 가면서 가능한 한 비슷한 위치에 맞춰주어야 합니다. 이때는 Edit -> Free Transform 을 사용하여 처리합니다. 크기를 줄여줄 때에는 shift를 눌린 상태에서 핸들을 조정해야만 가로세로가 동일한 비율로 줄어듭니다. 아래는 이 과정을 통해 대략 위치를 맞춰본 것입니다.

사용자 삽입 이미지

이 정도로만 맞춘 후, 아래와 같이 사용할 부분을 선택한 후 control+J를 눌러주면, 선택한 부분이 새로운 레이어로 복사됩니다. 방금전 사용했던 영상은 보이지 않게 꺼버립니다.

사용자 삽입 이미지

이 상태에서 촬영한 바닥이 평면일 경우, Edit -> Transform -> Distort를 사용하면 정확하게 맞출 수 있습니다. 평면이 아니라면 약간 오차가 발생하겠지만, 그래도 대략은 맞출 수 있습니다.

모서리에 있는 핸들을 사용하여 그 모서리에 가능한 한 가까이 있으면서 명확히 구분되는 점을 일치시켜주고, 다음 모서리에서 같은 작업을 해주고... 하는 방식으로 2-3 바퀴정도를 체크해 보면 아래와 같이 완벽하게 일치가 됩니다.

사용자 삽입 이미지

이렇게 일치 시키기만 하면 나머지 편집은 간단한 편입니다. 아래와 같이 먼저 레이어 아래에 있는 "Add Vector Mask"를 눌러 전체를 안보이게 만든 후, 마스크(Mask) 부분에 흰색을 그리면 됩니다.  (이렇게 편집하는 방법은 구면 파노라마의 고스트현상을 없애는 방법에서 설명한 것과 동일합니다.) 물론 이런 방식 말고도 편집할 수 있는 방법은 아주 많을 겁니다. 편한 방법을 사용하시면 됩니다.

사용자 삽입 이미지

이렇게 작업하다가 색이 약간 다르다 싶으면 Image -> Adjustments -> Hue/Saturation 을 사용하여 조정해 주고, 또 부족한 부분이 있다면 스탬프 도구를 사용해서 편집해 줘야 합니다. 작업이 끝난 뒤에는 Layer->Flatten Image를 눌러줘서 합쳐줘야 합니다. 아래는 편집 결과입니다.

사용자 삽입 이미지

마지막으로 이 바닥을 원본에 다시 넣는 작업은 PTAdjust -> Insert 를 선택한 뒤 OK를 눌러주면 되는데, 위에서 설명한 것과 동일합니다.

사용자 삽입 이미지

아래는 완전히 작업을 끝낸 뒤 완성된 구면 파노라마입니다. 좌측 위에 있는 Full Screen을 누르고 보시면 좋습니다.


올림픽공원 올림픽 운동 조형물-서울의 만남 in 서울

====
이상입니다. 복잡해 보이기는 하지만, 한 두번만 연습해 보시면 다른 어떤 방법보다도 정말 확실하게 바닥을 처리할 수 있습니다.

그런데... 얼마 후 발매될 포토샵 CS5에 탑재될 예정이라는 "알아서 채워주기(Context-aware fill)" 기능이 있으면 이런 복잡한 과정없이 그냥 선택해서 지워주기만 하면 바닥처리는 완벽하게 될 것 같은 기분입니다. 무슨 뜻인지는 이 글을 읽어보시면 됩니다. 그냥 아래에 삽입한 비디오만 보셔도 이해가 되실테고요.



정말 Context-aware fill, 즉 주변상황을 고려하여 자동으로 채워주는 기능이 들어온다면... 제가 기껏 써둔 이글이 아무 소용없게 될지도 모르겠습니다. (사실은 그럴지도 모르겠다 싶어 미리 써둔 것이라는...)

그래도 저는 이 기능이 4월 12일날 발매된다는 CS5에 반드시 들어갔으면 좋겠습니다. 바닥처리 외에도 유령처리, 렌즈 플래어 처리 등... 적용할 수 있는 곳이 엄청 많을테니까요. 정말 기대됩니다. 그리고... 귀찮은 작업들이 사라진다면 훨씬 더 많은 사람들이 쉽게 360도 구면 파노라마를 만들 수 있게 되지 않을까... 하는 생각도 들고요.

민, 푸른하늘

신고

댓글을 달아 주세요

  1. Favicon of http://www.hdvr.org BlogIcon 박제성  수정/삭제  댓글쓰기

    잘보았습니다 박사님..^^ 열정이 넘치십니다... 언제 한번 출사 같이 가시죠..
    저는 메모리관리차원에서 pan controls 필터들도 같이 사용합니다.
    뷰어에서 화면을 직접 보면서 원하는 위치의 화각을 크게 추출해서 수정할 경우에는 가끔
    pteditor를 사용하기도 합니다 그런데 요즘은 이것도 하기싫어서 왠만하면 평평한 바닥에서 촬영해서
    PTGui에서 모든 렌더링 작업을 끝내고 포토샵에서는 색감조정만 하고 있습니다.

    2010.03.26 10:40 신고
    • Favicon of http://www.internetmap.kr BlogIcon 푸른하늘이  수정/삭제

      저도 언제 한번 박선생님과 함께 나가보고 싶습니다. 이왕이면 처리하는 방법까지 서로 공유를 하면 좋겠다 싶구요.

      특히 제가 사용하지 않는 툴들을 사용하신다니까, 꼭한번 배우고 싶네요~~ ㅎㅎ

      2010.03.26 11:13 신고
  2. Favicon of http://www.cubicpan.com BlogIcon 박성수  수정/삭제  댓글쓰기

    출사 기획하고 있습니다.
    조만간 연락드리겠습니다.

    2010.03.31 13:09 신고
  3. Tony Kim  수정/삭제  댓글쓰기

    좋은 글 감사합니다. ^^' 한가지 질문을 해도 될지 모르겠습니다. 한국에서는 박사님만큼 자세하게 다룬곳이 없어서..... 가끔 바닥사진(handheld nadir shot with different viewpoint)을 스티칭 프로그램으로 control point 잡고 스티칭하고 나서 완성된 파노라마을 보면 바닥에 흐림현생이 종종 생깁니다. 외국 사이트나 외국 포럼에도 유사한 질문을 했지만 만족스러운 답변을 듣지 못했습니다. ㅜ.ㅜ 혹시 이런 흐림현상의 원인을 알수 있을지 궁금합니다. 참고로 control point 는 제생각에도 완벽하게 잡은것? 같습니다. 도와주세요~

    2012.08.06 20:58 신고
    • Favicon of http://www.internetmap.kr BlogIcon 푸른하늘이  수정/삭제

      원래는 바닥쪽 뿐만 아니라 수평방향 등등 겹치는 모든 곳에서 흐림 현상이 발생해야 합니다. 두장의 사진이 겹친다고 할 때 완벽하게 일치할 수는 없으니까요. 다만, 스티칭 프로그램에서는 blending 을 하면서 잘못 어긋난 것들도 잘 맞도록 처리하는 과정이 있어 이를 해결합니다.

      아마도 바닥쪽은 이런 blending이 제대로 처리되지 못해서이지 않을까... 하는 생각을 해봤습니다. <- 다만 추측에 불과하니... 알아서 판단하시길~~

      2012.08.07 18:39 신고

◀ Prev 1  ... 328 329 330 331 332 333 334 335 336  ... 1481  Next ▶
BLOG main image
Web2.0과 인터넷지도
저는 구글어스를 보자 엄청난 충격을 받았습니다. 전통적으로 지도는 국가에서 제작하는 게 당연하다고 생각했는데, 웹과 구글이 그 생각을 완전히 깨 버린 겁니다. 지금은 MS까지 전세계의 3차원 지도를 서비스하겠다고 나서고 있는데, 우리는 무엇을 어떻게 해야 할까요?
by 푸른하늘이
Profile for bluesky61

달력

«   2017/01   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

카테고리

전체보기 (1481)
구글어스 (829)
측량/GPS/GIS (215)
사진 (148)
드론/쿼드콥터 (118)
지오캐싱 (49)
기타 (121)
  • 3,832,152
  • 1601,131
TNM Media textcube get rss

Web2.0과 인터넷지도

푸른하늘이's Blog is powered by Tistory. / Supported by TNM Media.
Copyright by 푸른하늘이 [ http://www.ringblog.com ]. All rights reserved.

Textcube TNM Media
푸른하늘이's Blog is powered by Tistory. Designed by Qwer999. Supported by TNM Media.