-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME.pl
135 lines (88 loc) · 6.95 KB
/
README.pl
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
Image Alignment Tool
(c) GreatAttractor (WielkiAtraktor)
v. 0.5
2014/05/22
Dozwolone rozpowszechnianie i wykorzystanie w dowolny sposób bez ograniczeń.
1. Wprowadzenie
1.1 Składnia w linii poleceń
1.2 Pobieranie
1.3 Uwagi
1.3.1 Konwersja plików
1.3.2 Uruchamianie bez użycia wiersza poleceń (konsoli)
2. Budowanie ze źródeł
2.1 Budowanie za pomocą MinGW
2.2 Budowanie za pomocą Microsoft C++ (z Windows SDK bądź Visual Studio/Visual C++)
2.3 Budowanie za pomocą GCC (Linux i pokrewne, MinGW+MSYS)
3 Historia zmian
----------------------------------------
1. Wprowadzenie
Imgalt jest narzędziem do wyrównywania sekwencji obrazów, które mogą być znacznie przesunięte względem siebie w przypadkowy sposób. Do obróbki przyjmowane są pliki BMP (8- lub 24-bitowe) i TIFF (8 lub 16 bitów na kanał, RGB lub w odcieniach szarości), rozmiary mogą się różnić. Po wyrównaniu pliki wynikowe zapisywane są w tym samym formacie, o jednakowej wielkości równej wielkości prostokąta będącego przecięciem (największym wspólnym obszarem) wszystkich obrazów wejściowych po ich wyrównaniu. (Można też zapisać obrazy powiększone do obejmującego je wszystkie prostokąta używając parametru --no-crop).
Z powodu interpolacji niezbędnej do wyrównywania subpikselowego, 8-bitowe wejściowe pliki BMP (z paletą) są zapisywane jako 24-bitowe BMP RGB. (Nie ma to miejsca, gdy podany jest parametr "--no-subpixel").
Przykładowy scenariusz użycia to przygotowanie klatek animacji w osobnym katalogu (folderze), przekazanie ich do imgalt, otwarcie wyrównanych klatek w GIMPie (File->Open as Layers...), obróbka i przycięcie (zaznaczenie obszaru, następnie Image->Crop to Selection) i wreszcie eksport jako animowany GIF (File->Export, wybór formatu GIF, zaznaczenie "As Animation").
----------------------------------------
1.1 Składnia w linii poleceń
Ogólna postać wywołania:
imgalt [--verbose] [--threads <liczba>] [--no-crop] [--no-subpixel] [--output-dir <output directory>] [[--input-dir] <input directory>]
Katalog wejściowy jest parametrem domyślnym, więc można pominąć "--input-dir". Przykłady:
imgalt c:\astro\solar
(wyrównuje wszystkie pliki w c:\astro\solar i zapisuje wyrównane w katalogu bieżącym).
imgalt
(wyrównuje wszystkie pliki w katalogu bieżącym i zapisuje wyrównane w tym samym miejscu).
Imgalt wyrównuje wszystkie pliki BMP i TIFF (posortowane po nazwie) w katalogu wejściowym (domyślnie: bieżący) i zapisuje je z przyrostkiem "_aligned" w katalogu wyjściowym (domyślnie: bieżący).
Parametr "--verbose" włącza wypisywanie dodatkowych informacji w trakcie wyrównywania.
Parametr "--threads" ustawia liczbę wątków roboczych (domyślnie: liczba wykrytych procesorów logicznych).
Parametr "--no-crop" powoduje powiększenie obrazów wyjściowych do rozmiaru wspólnego prostokąta otaczającego zamiast obcinania ich do największego wspólnego obszaru.
Parametr "--no-subpixel" wyłącza wyrównywanie subpikselowe. Zastosowanie go może spowodować bardziej widoczny "dryf" obrazu wyjściowego lub nieznaczne 1-pikselowe skoki. Ponadto zapis obrazów wyjściowych będzie szybszy (ale nie samo wyrównywanie).
Jeśli katalog wejściowy lub docelowy zawierają spacje, należy otoczyć ścieżki znakami cudzysłowu, np.:
imgalt "c:\astro\Czerwiec 12" --output-dir "c:\astro\Czerwiec 12\aligned"
----------------------------------------
1.2 Pobieranie
Najnowszą wersję można pobrać z:
http://stargazerslounge.com/blog/1400/entry-1654-imgalt/
http://astropolis.pl/topic/44806-narzedzie-do-automatycznego-wyrownywania-klatek-animacji-slonecznych/#entry534928
----------------------------------------
1.3 Uwagi
----------------------------------------
1.3.1 Konwersja plików
Pliki można szybko skonwertować zbiorowo np. w IrfanView (File->Batch Conversion/Rename...). Animowany GIF można rozbić na klatki np. w programie VirtualDub (otworzyć plik GIF, potem File->Export->Image sequence...).
----------------------------------------
1.3.2 Uruchamianie bez użycia wiersza poleceń (konsoli)
Jako że uruchomienie imgalt bez parametrów oznacza przyjęcie katalogu (folderu) bieżącego jako wejściowego, można zrobić, co następuje:
- skopiować pliki przeznaczone do wyrównania do katalogu, gdzie znajduje się imgalt.exe
- uruchomić imgalt.exe
Wyrównanie pliki wyjściowe pojawią się w tym samym katalogu.
Kolejną metodą (pod MS Windows, choć może zadziałać również w innych środowiskach graficznych) jest przeciągnięcie katalogu z plikami wejściowymi i upuszczenie go na ikonę imgalt.exe. Wyrównane pliki pojawią się w katalogu, który był w tym czasie bieżący (np. w Windows, jeśli przeciągnięty został "d:\astro\sekwencja1", pliki wynikowe powinny pojawić się w "d:\astro").
----------------------------------------
2. Budowanie ze źródeł
Kod źródłowy imgalt można swobodnie rozpowszechniać i wykorzystywać w dowolnym celu. Do wybudowania ze źródeł potrzebne są biblioteki Boost w wersji 1.53.0 lub nowszej (starsze mogą działać po niewielkich zmianach w kodzie imgalt). Wielowątkowość wymaga kompilatora obsługującego OpenMP (np. GCC 4.2 lub nowsze, MS Visual C++ 2008 lub nowsze (wersje płatne), MS Visual C++ 2012 Express lub nowsze).
----------------------------------------
2.1 Budowanie za pomocą MinGW
Otworzyć Makefile.mingw i ustawić zmienne BOOST_INCLUDE i BOOST_LIBS na odpowiednie dla używanej instalacji Boost. Upewnić się, że narzędzia MinGW są na ścieżce (np. wywołać "set PATH=%PATH%;c:\mingw\bin") i wykonać:
mingw32-make -f Makefile.mingw
----------------------------------------
2.2 Budowanie za pomocą Microsoft C++ (z Windows SDK bądź Visual Studio/Visual C++)
Otworzyć Makefile.msvc i ustawić zmienne BOOST_INCLUDE i BOOST_LIBS na odpowiednie dla używanej instalacji Boost. Przeczytać notatkę o obsłudze OpenMP. Upewnić się, że narzędzia MS są na ścieżce (np. wywołać "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\vcvars32.bat") i wykonać:
nmake -f Makefile.msvc
----------------------------------------
2.3 Budowanie za pomocą GCC (Linux i pokrewne, MinGW+MSYS)
Upewnić się, że binarne i nagłówkowe biblioteki Boost są zainstalowane (np. pod Linuksem zainstalować pakiety "boost", "boost-devel") i wykonać:
make -f Makefile.gcc
----------------------------------------
3. Historia zmian
0.5 (2014/05/22)
Nowe funkcje:
- wyrównywanie subpikselowe
0.4.1 (2014/05/05)
Nowe funkcje:
- obsługa plików TIFF
0.4 (2014/05/02)
Nowe funkcje:
- domyślne obcinanie do największego wspólnego obszaru
Poprawki błędów:
- poprawiona translacja przy zapisie wyrównanych obrazów, powodowała chaotyczne 1-pikselowe skoki
0.3 (2014/04/25)
Nowe funkcje:
- przyjmowanie również kolorowych obrazów wejściowych
- zapis obrazów wyjściowych w tym samym formacie kolorów co wejściowe
Poprawki błędów:
- poprawiony zapis BMP o długości linii nie będącej wielokrotnością 4