kmaketiles
składnia:
kmaketiles 1.1 (krpano.com - krpanotools 1.0.6)
- dzieli obraz na mniejsze miniatury
- łączy miniatury w jeden obraz, lub w miniatury o innym rozmiarze
- wysoka jakość zmiany rozmiaru obrazów i miniatur
- szybki i bardzo wydajny
składnia:
kmaketiles inputfile outputfile tilesize [options]
inputfile ... jpeg lub tiff
(obsługiwane są tylko pliki w formacie 8bit GRAY,RGB,RGBA)
outputfile ... jpeg lub tiff - szablon obrazu wyjściowego
(utworzone zostaną ścieżki)
składnia szablonu: %[*0]{H|V}
%H = poziomy numer miniatury
np. %H => 1, 2 ... 10 ... 100
%V = pionowy numer miniatury
np. %00V => 001,002 ... 010 ... 100
przykłady: "tiles_%v_%h.jpg" lub "t_%0v_%0h.jpg" ...
tilesize ... rozmiar miniatury
(0 aby wyłączyć miniaturowanie, #x# dla rozmiarów niekwadratowych)
opcje:
-indexbase=# ... początkowy numer miniatur (domyślnie=1)
-jpegquality=# ... jakość pliku jpeg (0-100; domyślnie=85)
-jpegsubsamp=# ... kolor subsamplingu pliku jpeg
(444,422,420,411; domyślnie=444)
-jpegoptimize ... optymalizacja kompresji jpeg
-tiffcompress=# ... kompresja tiff
(none,lzw,zip,jpeg; domyślnie=lzw)
-tiffnoalpha ... usuń kanał alpha w pliku toff, jeśli istnieje
-q / -quiet ... wytłum wiadomości wychodzące
dla obrazu wejściowego złożonego z miniatur: (użyj składni szablonu także dla plików wejściowych)
-insize=#x# ... plik wejściowy [szerokość]x[wysokość]
-intilesize=# ... rozmiar miniatur obrazu wejśiowego w pikselach
(domyślnie=0, jeden obraz)
-inindexbase=# ... początkowy numer miniatur obrazu wejściowego (domyślnie=1)
dla zmiany rozmiaru obrazu:
-resize=#x# ... zmień rozmiar obrazu wejściowego na [szerokość]x[wysokość]
(* dla wielkości proporcjonalnej)
-hwrap ... zawijaj poziomo podczas filtrowania
-filter=# ... zmień typ filtra (domyślnie=LANCZOS)
filtry: POINT,LINEAR,GAUSS,CUBIC,HAMMING,
MITCHELL,LANCZOS
Tutoriale
1. Tworzenie panoramy multiresolution Na przykład masz dużą panoramę sferyczną: 20000x10000 pikseli. Odpowiedni rozmiar miniatur dla niej to 1000 pikseli. Otrzymasz więc miniatury 20x10 (=20000/1000 x 10000/1000).
Utworzenie miniatur:
kmaketiles sphere.jpg tiles_l0_%0v_%0u.jpg 1000
Otrzymujesz więc 200 obrazów o rozmiarach 1000x1000, nazwanych kolejno "tiles_l0_01_01.jpg" do "tiles_l0_10_20.jpg". Teraz czas na stworzenie obrazów o niższej rozdzielczości. Dobry skok rozdzielczości to różnica dwukrotna! Tak więc następna niższa rozdzielczość to 10000x5000, następna 5000x2500, i w końcu 2500x1250.
Utworzenieminiatur dla tych rozdzielczości:
kmaketiles sphere.jpg tiles_l1_%0v_%0u.jpg 1000 -resize=10000x5000 -hwrap
kmaketiles sphere.jpg tiles_l2_%0v_%0u.jpg 1000 -resize=5000x2500 -hwrap
kmaketiles sphere.jpg tiles_l3_%0v_%0u.jpg 1000 -resize=2500x1250 -hwrap
Używamy "-hwrap" żeby zawinąć filt zmieniający rozmiar dookoła poziomych krawędzi.
Dodatkowo mółbyś dodać "-jpegoptimize", "-jpegsubsamp=420" oraz "-jpegquality=75" dla lepszej kompresji JPEG.
Kod XML dla tych miniatur:
<krpano version="1.0">
<image type="SPHERE" multires="yes" tilesize="1000">
<level tiledimagewidth="20000" tiledimageheight="10000">
<sphere url="tiles_l0_%0v_%0u.jpg" />
</level>
<level tiledimagewidth="10000" tiledimageheight="5000">
<sphere url="tiles_l1_%0v_%0u.jpg" />
</level>
<level tiledimagewidth="5000" tiledimageheight="2500">
<sphere url="tiles_l2_%0v_%0u.jpg" />
</level>
<level tiledimagewidth="2500" tiledimageheight="1250">
<sphere url="tiles_l3_%0v_%0u.jpg" />
</level>
</image>
</krpano>
2. Zmniejszanie dużych obrazów kmaketiles może zostać użyty także do zmniejszania rozmiarów obrazów przy zachowaniu wysokiej jakości obrazu. Domyślnie kmaketiles używa fiiltra "lanczos". Filtr ten zachowuje maksymalną ilość detali podczas zmniejszania.
Aby zmniejszyć ustawiamy rozmiar miniatury na 0.
na przykład:
kmaketiles largeimage.jpg smallimage.jpg 0 -resize=1024x768