Jak zrobić, złożyć panoramę cylindryczną na Ubuntu

hugin darmowy program do składania panoramJak zrobić, złożyć panoramę cylindryczną na Ubuntu darmowego programu do robiena panoram pod Linux, Windows.

W sieci można znaleźć wiele tutoriali o tym jak wykonać panoramę cylindryczną od początku do końca, jednak w tym tutorialu przedstawię sposób na wykonanie takiej panoramy za pomocą darmowego oprogramowania na platformie GNU/Linux.
A więc do dzieła!

Jeśli nie masz Ubuntu, a bardzo chciałbyś mieć ten system na swoim dysku, nie tylko na potrzeby tego tutoriala, to możesz go ściągnąć legalnie, albo zamówić za darmo na  Ubuntu.com

Instalacja programu Hugin na Ubuntu 8.10

1. Instalujemy program Hugin wpisując w terminalu:


sudo apt-get install hugin


2. Po pomyślnej instalacji Hugin'a edytujemy repozytoria wpisując w terminalu:


sudo gedit /etc/apt/sources.list


i gdzieś na końcu pliku dodajemy linijkę z repozytoriami ze starszej wersji Ubuntu:


# stare repozytoria dla autopano-sift-c - lepiej potem usunąć ten wpis
deb http://ppa.launchpad.net/intipunku/ubuntu hardy main


Zapisujemy plik i aktualizujemy repozytoria wpisując w terminalu:


sudo apt-get update


3. Hugina mamy już zainstalowanego w kroku drugim, ale autopano-sift, skrypt, który znajduję punkty wspólne na kolejnych fotografiach nie działa, dlatego musimy go zamienić na nowszy odpowiednik czyli autopano-sift-c. Autopano sift-c został napisany w C, dzięki czemu nie potrzeba ściągać żadnych zbędnych zależności i bilbliotek śmiecących tylko w systemie. Niestety w repozytoriach dla Ubuntu 8.10 nie ma autopan-sift-c, dlatego musieliśmy dodać wpis z repozytorium do Hardy'ego. Teraz instalujemy autopano-sift-c wpisując w terminalu:

sudo apt-get install autopano-sift-c

4. Uruchamiamy Hugin'a w Programy>Grafika>Hugin Panorama Creator i wchodzimy w preferencje programu, czyli: Plik>Preferencje i wybieramy zakładkę Autopano. W polu autopano-SIFT wpisujemy:

autopano-sift-c

Dajemy OK. I już możemy zacząć pracę z programem. Proszę nie zapomnieć o wyrzuceniu zbędnego repozytorium dodanego w pkt. 2.
Praca z programem Hugin-sklejamy zdjęcia

Na zakładce Asystent postępujemy zgodnie z numeracją operacji, a więc:

1. Wczytujemy zdjęcia (jeśli w katalogu, oprócz jpegów są jakieś inne pliki możemy je przefiltrować w okienku na dole po prawej). Ważne jest, aby nie dodać za dużo zdjęć tj. aby ostatnie nie pokrywało się więcej niż w 40% z pierwszym.
Jeśli Hugin prawidłowo rozpoznał naszą ogniskową, zaraz po wczytaniu powinniśmy zobaczyć naszą ogniskową oraz wartość crop'a.

2. Naciskamy Wyrównaj.... Teraz zostaje właśnie uruchomiony skrypt autopano-sift-c, który znajduję punkty wspólne na kolejnych fotografiach. Jeśli wszystko zostało przygotowane starannie, po kilku minutach (w zależności od wielkości zdjęć i możliwości komputera)skrypt powinien zakończyć się pomyślnie. Jeśli zatrzymał się z błędami warto je przeanalizować, ale w 80% przypadków to źle przygotowane zdjęcia powodują błędy. Ostatecznie możemy też ręcznie dodać punkty wspólne, na zakładce programu: Punkty kontrolne, wybierając po lewej plik nr.0 a po prawej nr. 1 i przesuwając strzałeczką dalej po ręcznym dodaniu punktów. Warto wtedy włączyć opcje: automatycznie dostrój, dodaj, estymuj, co ułatwi nam ręczną pracę.
Po pomyślnym "wyrównaniu" zdjęć powinno nam się pojawić okno z podglądem wykonanej już panoramy. Gdzie możemy zmienić np. środek naszej panoramy. Możemy teraz też skorzystać z innych opcji programu jak np. optymalizacja zdjęć (zakładka Exposure), ale lepiej to zrobić potem w zewnętrznym programie.

3. Tworzymy zdjęcie panoramiczne. Do wyboru przy eksporcie mamy kilka formatów plików Tiff, Jpeg, PNG. Opcje eksportowania są dostępne na zakładce Składacz. Domyślnie jest ustawiony Tiff, który zajmuje dużo miejsca, ale jest formatem najmniej stratnym (można wybrać też formy jego kompresji).
Samo tworzenie panoramy trwa dosyć długo, dlatego warto w tym czasie nie obciążać swojego komputera innym programami np. Firefoxem wyświetlającym właśnie panoramę w formacie Flash.
Gotową panoramę na pewno trzeba będzie dokładnie obejrzeć w skali 1:1, czy nie ma jakichś nieprawidłowych przesunięć, a następnie przyciąć u góry i u dołu nierówności. Jeśli utworzyliśmy duży plik w formacie Tiff to możemy spróbować otworzyć go w Gimpie, jeśli nasz komputer nie daje rady z dużym plikiem, możemy go zamienić na np. PNG za pomocą Imagemagick wpisując w konsoli:

convert nazwa.tiff nazwa.png

Na tym etapie możemy też dostroić kontrast/kolorystykę naszej panoramy. Polecam do tego celu zamiast Gimpa profesjonalny program do obróbki fotografii Raw Therapee.
Nasz plik po przycięciu musimy teraz jakoś wyświetlić. Ale to już temat następnego rozdziału tutoriala.
Wyświetlenie panoramy w PTViewer

Niestety za pomocą PTViewer'a napisanego w Javie nie można wyświetlić zbyt dużej panoramy, ale i tak warto użyć właśnie tego appletu chociażby dlatego, że większość parametrów konfiguracyjnych znajduje się w pliku html, który możemy zawsze i wszędzie wyedytować za pomocą notatnika.
Poza tym, założeniem tego tutoriala, jest stworzenie od A-Z panoramy za pomocą darmowych i ogólnodostępnych (w tym przypadku w sieci) narzędzi, a także promocja ideologii wolnego oprogramowania.

1. Ściągamy stąd spakowany plik z przykładem i PTViewer'em.
2. Rozpakowywujemy i wchodzimy do katalogu PTViewer_przyklad gdzie otwieramy np. Firefoxem plik index.html
3. Aby, zbudować własną panoramę, wystarczy skopiować swój plik utworzony w Hugin'ie do katalogu z przykładem i zmienić nazwę na obraz.jpg (mój przykład można śmiało skasować).
4. Po szczegóły podstawowej konfiguracji zapraszam tutaj.
Panorama fullscreen w darmowej wersji Pure Player'a

1. Ściągamy archiwum z przykładowymi plikami stąd i rozpakowywujemy je.
3. Ważne jest, aby plik nie był za duży max. do 3.5MB inaczej panorama będzie nam się za długo ładowała. Doskonałym narzędziem do pomniejszania dużych zdjęć (Gimp okazał się za wolny i mało oszczędny), jest program mtPaint, który jest dostępny w repozytoriach Ubuntu, aby go zainstalować wpisujemy w terminalu:

sudo apt-get install mtpaint

Aby zmniejszyć obrazek wchodzimy w programie do Obrazek>Scale canvas i pomniejszamy do wysokości ok. 1200-1800 pikseli.
4. Sprawdzamy rozmiary obrazka który chcemy wyświetlić, w przykładzie plik ma rozmiary:
-szerokość 2934 piksele
-wysokość 603 pikseli
5. Aby poprawnie wyświetlić panoramę cylindryczną musimy wykonać obliczenie. Instalujemy więc octave, wpisując w terminalu:

sudo apt-get install octave

Uruchamiamy program wpisując w terminalu:
octave
I dokonujemy obliczeń wg rozmiarów obrazka w przykładzie:

octave:1> atan(603*3.14/2934)
ans = 0.57309
octave:2> ans*57
ans = 32.666

Tylko w pierwszej linii wpisujemy rozmiary naszego obrazka, a więc: atan(wysokość*3.14/szerokość), a otrzymany wynik mnożymy przez 57, aby wyszło nam w stopniach.
6. Edytujemy teraz plik cylinder.xml z przykładu wpisując wynik do minTilt i maxTilt, w minTilt nasz wynik przyjmuje wartość ujemną. Warto przestudiować resztę ustawień, korzystając także z dokumentacji dostępnej na stronie ImmerVision. To wszystko .

autor: Grzegorz Wronkowski, 17.01.2011