Aceasta este comanda pvrg-jpeg care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS
PROGRAM:
NUME
pvrg-jpeg - compresie și decompresie JPEG
REZUMAT
pvrg-jpeg -iw ImageWidth -ih Înălțimea imaginii [-JFIF] [-q(l) Q-Factor]
[-A] [-b] [-d] [-k tip predictor] [-n] [-O] [-y] [-z] [-g]
[-p PrecisionValue] [-t punct de transformare]
[-r ResyncInterval] [-s StreamName] [-sau OutBaseName]
[[-ci ComponentIndex1] [-fw FrameWidth1] [-fh FrameHeight1]
[-hf Frecvență orizontală1] [-vf VerticalFrequency1]
ComponentFile1]
[[-ci ComponentIndex2] [-fw FrameWidth2] [-fh FrameHeight2]
[-hf Frecvență orizontală2] [-vf VerticalFrequency2]
ComponentFile2]
....
DESCRIERE
pvrg-jpeg este un program de compresie/decompresie a imaginilor statice care realizează codificare JPEG
și decodificarea mai multor fișiere scanate raster.
Aceste „fișiere scanate raster” sunt în principiu fișiere PGM (hartă gri portabilă) fără PGM
antet. O imagine JPEG tipică este formată din trei dintre aceste fișiere reprezentând Y, Cr și
Canale de culoare Cb. De obicei, canalul Y (luminozitate) este de dimensiune completă, în timp ce cele două cromatice
canalele au jumătate de lățime și jumătate de înălțime. Dar niciun canal anume nu trebuie să fie cu adevărat plin
dimensiune, deci pvrg-jpeg va trebui să cunoască dimensiunile imaginii originale la creare
jpegs.
OPŢIUNI
ImageWidth
specifică lățimea imaginii originale. Aceasta ar trebui să corespundă lățimii de
cea mai lată componentă și, astfel, lățimea ``imaginei originale''. Toate componentele
au lățimi care corespund aproximativ unui raport de decimare întreg din aceasta
specificație.
Înălțimea imaginii
specifică înălțimea celei mai înalte componente. Aceasta corespunde înălțimii de
``imaginea originală''.
-JFIF specifică faptul că un antet JFIF este plasat pe fluxul codificat. Acest lucru este inutil
pentru decodare.
Factorul Q
opțiunea specifică un factor multiplicativ pentru cuantizare: fiecare cuantizare
coeficientul matricei implicite este scalat cu (Q-Factor/50). Un factor Q de 0 este
același lucru cu un factor Q de 50, deoarece dezactivează această funcție. -q specifică
o matrice de cuantizare de 8 biți; -ql specifică o matrice de cuantizare de 16 biți, utilă
pentru date pe 12 biți.
-a permite DCT de referință în virgulă mobilă cu precizie dublă. (Implicit este Chen DCT.)
-b activează Lee DCT. (Implicit este Chen DCT.)
-d permite decodarea. Vezi mai jos.
-g Această opțiune va pune antete PGM pe fișierele de ieșire la decodare.
-k tip predictor
Tipul de predictor fără pierderi, specificat ca un întreg între 1-7. Dacă este specificat,
atunci se folosește modul fără pierderi.
-n Această opțiune specifică că fișierele nu trebuie transmise în intercalare
format.
-o OutBaseName
Aceasta va folosi șirul specificat ca nume de bază pentru fișierele de ieșire la decodare.
-O semnalează că interpretul de comenzi va citi de la intrarea standard.
-p Specifică precizia. În mod normal, ar trebui să fie între 2-16 pentru fără pierderi; 8 sau 12 pentru
DCT. Dacă este specificat ca un număr mai mare de 8, atunci intrarea este considerată ca
să fie scurte nesemnate (16 biți, mai întâi msb). Nu este verificat agresiv.
-s JPEGStreamName
La codificare, acesta va fi folosit ca fișier de ieșire. La decodare, aceasta va fi
folosit ca fișier de intrare.
-t punct de transformare
Specifică deplasarea (dreapta) la încărcarea intrării și deplasarea (stânga) la scriere
intrare. Utilizat în general numai de modul fără pierderi. Poate fi folosit de modul DCT pentru
adăugați sau scădeți biți.
-y numai pentru decodare, semnalează că Nu. resincronizarea este activată, deci ignorați orice
markeri găsiți în fluxul de date.
-z permite utilizarea tabelelor Huffman implicite. Acest lucru transformă codarea dintr-o trecere în două
sistem folosind prima trecere pentru a genera tabele personalizate la un sistem cu o singură trecere folosind
tabele implicite interne. Cu această opțiune, viteza de compresie este aproape dublată,
dar pentru că tabelele interne nu sunt personalizate pentru imagine, fișierul comprimat
dimensiunea crește ușor.
ResyncInterval
specifică un interval de resincronizare (repornire) pentru fișierul de intrare - dacă este setat la 0 (implicit),
resincronizarea este dezactivată; în caz contrar, semnifică numărul de MDU între a
marker de resincronizare.
StreamName
este locul de încărcare (decodor)/stocare (codificator) imaginea codificată - dacă nu este specificată
implicit la ComponentFile1.jpg.
Pentru fiecare componentă din imagine avem:
ComponentIndex
descrie indexul componentei cu care ar trebui să fie asociate datele fișierului. The
valorile posibile sunt între 0 și 255. De regulă, Y este în 1; U este în 2; V este în 3.
Specificațiile fișierului, dacă nu sunt deranjate, vor avea ca rezultat locația componentei 1
pentru primul fișier component, 2 pentru al doilea fișier component și așa mai departe. Dacă -acest
este specificat pentru fișierul de componentă anterior, apoi pentru următorul index de componentă
implicit la indexul componentei anterior plus 1.
FrameWidth
descrie lățimea reală a componentei. Acest lucru ar trebui să fie determinat de către
dimensiunea imaginii originale (ImageHeight și ImageWidth) și frecvența de eșantionare
a acelei componente. Acest program presupune că componenta de eșantionare va fi rotundă
up la cel mai apropiat număr întreg și alte programe pot să nu urmeze neapărat asta
convenție, permitem specificarea precisă a FrameWidth. Programul va
notificați utilizatorul dacă specificațiile pentru lățimea și înălțimea cadrului nu corespund
la un model logic MDU și, astfel, va refuza să preia intrarea (de fapt, uneori
rotunjirea în jos nu va avea ca rezultat un model logic MDU).
Înălțimea cadrului
descrie înălțimea reală a componentei. Înmulțit împreună cu FrameWidth,
aceasta ar trebui să fie egală cu dimensiunea fișierului componentei. Vezi discuția de mai sus despre
specificația reală.
Hor-Frecventa
specifică frecvența de eșantionare în bloc a componentei în direcția orizontală
pentru fiecare MDU transmis.
Ver-Frecvență
specifică frecvența de eșantionare în bloc a componentei în direcția verticală.
Atunci când este înmulțit împreună cu frecvența orizontală, aceasta corespunde cu
numărul de blocuri ale acelei componente în MDU.
ComponentFilen
reprezintă locația căii directorului nal-lea fișier component.
EXEMPLE
Pentru a codifica un set de fișiere scanate raster: 128x128 in imagine.Y; 64x128 in imagine.U;
și 64x128 in imagine.V în dosar imagine.jpg, comanda este
pvrg-jpeg -iw 128 -ih 128 -hf 2 imagine.Y imagine.U imagine.V -s image.jpg
Pentru a decoda un fișier comprimat în imagine.jpg, tip
pvrg-jpeg -d -s image.jpg
Cele trei fișiere de ieșire vor fi în imagine.jpg.1 imagine.jpg.2 imagine.jpg.3. Imaginile pot fi
afișat de către cv program. Imaginile pot fi, de asemenea, convertite în ppm și înapoi prin intermediul
programe cyuv2ppm și ppm2cyuv Acele programe utilitare disponibile prin ftp anonim de la
havefun.stanford.edu:pub/cv/CVv1.2.1.tar.Z.
Există multe mai multe opțiuni în cadrul unui interpret de comandă intern. Vă rugăm să vedeți
documentația de însoțire în doc.ps pentru mai multe detalii.
Utilizați pvrg-jpeg online folosind serviciile onworks.net