Manualul de utilizare pamundice(1)

NUME
pamundice - combină grila de imagini (straturi) într-unul singur

EXEMPLU

    $ pamdice myimage.ppm -outstem=myimage_part -width=1000 -height=1000 CW     $ pamundice myimage_part_%1d_%1a.ppm -across=10 -down=8 >myimage.ppm

    $ pamundice myimage_part_%2a -across=13 -hoverlap=9

Consultați pamdice (pamdice.html#example) pentru mai multe exemple.

SINOPSIS

pamundice

{ [-across=n]

[-down=n] , -indexfile=nume-fișier_pam }

[-hoverlap=pixeli]

[-voverlap=pixeli]

[-verbose]

{model_nume-fișier_intrare, -listfile=nume-fișier_text}

Toate opțiunile pot fi abreviate la cel mai scurt prefix unic. Puteți utiliza două liniuțe în loc de una. Puteți separa numele unei opțiuni și valoarea acesteia cu un spațiu alb în loc de semnul egal.

DESCRIERE

Acest program face parte din Netpbm(1).

pamundice citește o grămadă de imagini Netpbm ca intrare și le combină ca o grilă de dale/straturi într-o singură imagine de ieșire de același tip la ieșirea standard.

Opțional, puteți face ca piesele să se suprapună.

Imaginile pot fi, fie în fișiere ale căror nume indică locul în care vor fi incluse în rezultat (de exemplu, „imaginea-mea_partea_03_04” ar putea fi imaginea pentru rândul 3, coloana 4 - a se vedea argumentul model_nume-fișier_intrare), fie listate într-un fișier, cu opțiunea -listfile.

Toate imaginile de intrare trebuie să aibă același format (PAM, PPM etc.) și val-max, iar pentru PAM trebuie să aibă aceeași adâncime și același tip de tuple. Toate imaginile dintr-un rang (rând orizontal de dale/straturi) trebuie să aibă aceeași înălțime. Toate imaginile dintr-un fișier (coloană verticală de dale) trebuie să aibă aceeași lățime. Dar nu este obligatoriu ca fiecare rang să aibă aceeași înălțime sau ca fiecare fișier să aibă aceeași lățime.

pamdice este inversul lui pamundice. Puteți utiliza pamundice pentru a reasambla o imagine tăiată de pamdice. Puteți utiliza pamdice pentru a recrea dalele unei imagini create de pamundice, dar pentru a face acest lucru, rândurile originale trebuie să fi avut toate aceeași înălțime cu excepția celui de jos și fișierele originale trebuie să fi avut toate aceeași lățime cu excepția celui din dreapta.

Una dintre utilizările acestui instrument este de a procesa o imagine pe porțiuni atunci când întreaga imagine este prea mare pentru a fi procesată. De exemplu, s-ar putea să aveți o imagine atât de mare încât un editor de imagini să nu o poată citi pe toată în memorie sau să o proceseze foarte lent. Puteți să o împărțiți în bucăți mai mici cu pamdice, să le editați pe rând și apoi să le reasamblați cu pamundice.

Desigur, puteți utiliza pamundice și pentru a compune diferite tipuri de imagini de tablă de șah, de exemplu, ați putea scrie un program care să redea o tablă de șah prin calcularea unei imagini a fiecărui pătrat, apoi utilizând pamundice pentru a le asambla într-o tablă.

O alternativă pentru unirea imaginilor într-o singură direcție (adică un singur rang sau un singur fișier) este pamcat. pamcat oferă modalități alternative de identificare a imaginilor de intrare: le puteți furniza în serie la intrarea standard sau le puteți lista după nume ca argumente pentru linia de comandă.

Pentru a îmbina fotografii pe bucăți, utilizați pnmstitch în loc de pamundice, deoarece acesta își dă seama unde se suprapun piesele, chiar dacă acestea nu se suprapun exact vertical sau orizontal.

Pentru a crea o imagine a aceleiași dale repetată într-o grilă, este pnmtile.

pnmindex face un lucru similar cu pamundice: combină o mulțime de imagini mici dintr-o rețea într-una mare. Dar scopul său este de a produce o imagine index a imaginilor de intrare. Așa că lasă spațiu între ele și are etichete pentru ele, de exemplu.

ARGUMENTE

Cu excepția cazului în care utilizați opțiunea -listfile, există un singur argument fără opțiune și acesta este obligatoriu: model_nume-fișier_intrare. Acesta îi spune lui pamundice ce fișiere conțin dalele de intrare.

pamundice citește imaginile de intrare din fișiere care sunt denumite cu un model care indică pozițiile lor în imaginea combinată. De exemplu, tile_00_05.ppm ar putea fi a șasea dală din primul rând, în timp ce tile_04_01 este a doua dală din al cincilea rând.

(Dar a se vedea -indexfile, care poate determina rearanjarea plăcilor-de-mozaic, astfel încât fișierul al cărui nume indică faptul că este a 6-a piesă din primul rând ar putea fi de fapt plasat de pamundice în orice poziție arbitrară în rezultatul său).

Nu puteți furniza niciuna dintre date la intrarea standard, iar fișierele trebuie să fie de tipul celor pe care pamundice le poate închide și redeschide și poate citi aceeași imagine a doua oară (de exemplu, un fișier obișnuit este în regulă; o conductă cu nume probabil nu este).

model_nume-fișier_intrare este un model în stil printf. Consultați subrutina printf din biblioteca C standard. Pentru exemplul de mai sus, acesta ar fi tile_%2d_%2a.ppm. Singurele specificații de conversie posibile sunt:

d   „down(jos)": Numărul rangului (rândului), începând cu 0.

a   „across(suprapunere)": Numărul fișierului (coloanei), începând cu 0.

%   Caracterul procentual (%).

Numărul dintre % și specificatorul de conversie este precizia și este necesar. Acesta spune câte caractere din numele fișierului sunt descrise de respectiva conversie. Numărul rangului sau al fișierului este completat cu zerouri anterioare, după cum este necesar.

Astfel, exemplul tile_%2d_%2a.ppm înseamnă că pentru a obține numele fișierului care conține dala de la rangul 0, fișierul 5, trebuie să:

•   înlocuiți „%2d” cu numărul rangului, ca număr zecimal cu 2 cifre: „00”

•   Înlocuiți „%2a” cu numărul fișierului, ca număr zecimal cu 2 cifre: „05”

Rețineți că acest model descrie numele de fișiere pe care le produce pamdice, cu excepția faptului că precizia poate fi mai mare sau mai mică; (a se vedea opțiunea -numberwidth din pamdice).

OPȚIUNI

În plus față de opțiunile comune tuturor programelor bazate pe libnetpbm (mai ales -quiet, a se vedea Common Options (index.html#commonoptions) ), pamundice recunoaște următoarele opțiuni de linie de comandă:

-across=N
    Acesta este numărul de dale suprapuse din grilă, adică numărul de dale din fiecare rang, sau numărul de fișiere.

    Nu puteți specifica această opțiune împreună cu -indexfile.

    Valoarea implicită este 1.

-down=N
    Acesta este numărul de dale în sus și în jos în grilă, adică numărul de dale din fiecare fișier, sau numărul de ranguri.

    Nu puteți specifica această opțiune împreună cu -indexfile.

    Valoarea implicită este 1.

-hoverlap=pixeli
    Aceasta este valoarea în pixeli a suprapunerii orizontale a dalelor. pamundice taie atât de mult din marginea dreaptă a fiecărei dale înainte de a o uni cu imaginea adiacentă din dreapta. Dalele de-a lungul marginii drepte rămân întregi.

    Nu trebuie să existe nicio imagine de intrare mai îngustă decât aceasta.

    Rețineți că acest lucru anulează efectul aceleiași opțiuni -hoverlap din pamdice.

    Valoarea implicită este zero - nicio suprapunere.

-voverlap=pixeli
    Acest lucru este analog cu -hoverlap, dar pamundice taie marginea de jos a fiecărei imagini înainte de a o uni cu cea de mai jos.

-listfile=nume-fișier_text
    Această opțiune numește un fișier care conține numele tuturor fișierelor de intrare. Aceasta este o alternativă la specificarea unui model de nume de fișier ca argument.

      Fișierul numit conține numele fișierelor, câte unul pe linie. Fiecare fișier
      conține imaginea pentru o dală, în ordinea rândurilor principale, de sus în
      jos, de la stânga la dreapta. Astfel, primul fișier este dala din stânga sus,
      al doilea este cel din dreapta, etc. Numărul de linii din fișier trebuie să
      fie egal cu numărul de dale din ieșire, produsul valorilor across și -down.

      Numele fișierelor nu au nicio semnificație pentru pamundice. Puteți utiliza
      același fișier de mai multe ori pentru a avea plăci-de-mozaic identice la ieșire.

    Dacă creați fișierele de plăci-de-mozaic cu pamdice, puteți utiliza opțiunea -listfile din pamdice pentru a produce un fișier listă adecvat pentru reasamblarea plăcilor-de-mozaic în aceleași poziții pe care le aveau în imaginea mare originală.

    Nu puteți specifica această opțiune împreună cu -indexfile.

    Această opțiune a fost introdusă în Netpbm 10.90 (martie 2020).

-indexfile=nume-fișier_pam
    Această opțiune numește un fișier care conține o imagine PAM care spune ce fișiere de plăci-de-mozaic să fie plasate unde în rezultatul asamblat. Consultați opțiunea pamfile -indexfile pentru detalii privind formatul său.

    O modalitate tipică de a genera o imagine de index pentru a o utiliza cu pamundice este de a utiliza opțiunea -indexfile din pamdice, iar apoi de a manipula eventual imaginea de index rezultată cu alte instrumente Netpbm.

    În timp ce valorile eșantionului din imaginea index sunt definite ca fiind poziții de rang și de fișier într-o imagine mare originală și, prin urmare, sunt documentate în acești termeni, în practică, pamundice nu atribuie nicio semnificație numerelor - acestea sunt doar substituții pentru două variabile din modelul numelui fișierului de intrare (dat ca argument al programului).

    Valoarea maximă a imaginii index este irelevantă, cu excepția faptului că niciun eșantion din imaginea index nu poate fi mai mare decât aceasta.

    Adâncimea fișierului index trebuie să fie de cel puțin două (rang și fișier), dar programul ignoră orice planuri suplimentare.

    Programul ignoră tipul de tuple.

    Dacă nu specificați această opțiune, poziția unei plăci în rezultatul de ieșire este dată direct de porțiunile rang și fișier din numele fișierului de plăci-de-mozaic sau, dacă specificați -listfile, de ordinea în care sunt enumerate fișierele de plăci-de-mozaic în fișierul listă.

    Nu puteți specifica această opțiune împreună cu -listfile, -down sau -across.

    Această opțiune a fost introdusă în Netpbm 11.10 (martie 2025).

-verbose
    Afișează informații despre procesare la ieșirea de eroare standard.

Utilizare

Iată un exemplu de utilizare a unui fișier listă:

         Exemplu de utilizare a opțiunii „-listfile”:

    pamdice -width=100 -height=100 -outstem=img_part -listfile=listfile \
        img.ppm
    pamundice -listfile=listfile -across=6 -down=4 > img_copy.ppm

Rețineți că în exemplul de mai sus, trebuie să știți cumva că ați obținut 6 fișiere și 4 ranguri de la pamdice și apoi să specificați opțiunile corecte -across și -down pe pamundice. O mică eroare strică procesul. O modalitate mai bună este să folosiți -indexfile:

       pamdice -width=100 -height=100 -outstem=img_part \
       	  -numberwidth=3 -indexfile=index.pam img.pam
       pamundice -indexfile=index.pam img_part_%3d_%3a.pam > img_copy.pam

Iată un exemplu de răsturnare a unei imagini mari. pamflip necesită adesea ca întreaga imagine să fie în memoria reală în același timp, ceea ce poate fi imposibil sau impracticabil cu o imagine foarte mare. Această metodă o face în bucăți mai mici, astfel încât să necesite mai puțină memorie:

       Exemplu de „-indexfile” cu operația pamflip:

    pamdice -width=2500 -height=2500 -outstem=tile \
    	  -numberwidth=3 -indexfile=index.pam hugeImage.ppm

    # întoarce fiecare placă-de-mozaic
    for tile in tile_???_???.ppm
    do
        pamflip -r180 $tile > ${tile%.ppm}.flipped.ppm
    done

    # întoarce fișierul-index - Aplică pur și simplu aceeași operație de întoarcere
    pamflip -r180 index.pam > index_flipped.pam

    pamundice -indexfile=index_flipped.pam tile_%3d_%3a.flipped.ppm \
        > hugeImage_flipped.ppm

ISTORIC

pamundice a fost introdus în Netpbm 10.39 (iunie 2007).

CONSULTAȚI ȘI
pamdice(1) , pamcat(1) , pnmindex(1) , pnmtile(1) , pnmtile(1) , pnm(1) , pam(1)

SURSA DOCUMENTULUI
Această pagină de manual a fost generată de instrumentul Netpbm «makeman» din sursa HTML. Documentația principală este la

    http://netpbm.sourceforge.net/doc/pamundice.html

TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.