ppmtojpeg - Bulutta Çevrimiçi

Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen ppmtojpeg komutudur.

Program:

ADI


pnmtojpeg - PNM görüntüsünü JFIF ("JPEG") görüntüsüne dönüştürün

SİNOPSİS


pnmtojpeg [ seçenekleri ] [ Dosya ]

TANIM


pnmtojpeg adlandırılmış PBM, PGM veya PPM görüntü dosyasını veya dosya yoksa standart girişi dönüştürür
standart çıktıdaki bir JFIF dosyasına adlandırılır.

pnmtojpeg çıktı dosyasını oluşturmak için Independent JPEG Group'un JPEG kitaplığını kullanır. Görmek
http://www.ijg.org kütüphane hakkında bilgi almak için.

"JFIF", yaygın olarak "JPEG" olarak bilinen görüntü formatının doğru adıdır. kesinlikle
konuşursak, JPEG bir sıkıştırma yöntemidir. JPEG sıkıştırmasını kullanan görüntü formatı
açık farkla en yaygın olanı JFIF'dir. JPEG kullanan bir TIFF alt biçimi de vardır.
sıkıştırma.

EXIF, JFIF'in bir alt biçimi olan bir görüntü biçimidir (yani, bir JFIF dosyası,
APP1 işaretçisi olarak EXIF ​​başlığı). pnmtojpeg belirttiğinizde bir EXIF ​​görüntüsü oluşturur.
-exif seçeneği.

SEÇENEKLER


Temel seçenekler şunlardır:

--exif=dosya özelliği
Bu seçenek, çıktı görüntüsünün EXIF ​​(JFIF'in bir alt biçimi) olacağını belirtir.
yani, JFIF APP1 işaretçisi olarak bir EXIF ​​başlığına sahip olacaktır. bunun içeriği
işaretleyici, belirtilen dosyanın içeriğidir. özel değer - okumak demek
standart girdiden EXIF ​​başlık içeriği. Standart belirtmek geçersiz
hem EXIF ​​başlığı hem de giriş görüntüsü için giriş.

EXIF dosyası, dosyanın uzunluğu olan iki baytlık bir alanla başlar,
uzunluk alanı dahil, saf ikili, en önemli bayt önce. NS
uzunluk alanı için özel sıfır değeri, EXIF ​​başlığının olmayacağı anlamına gelir,
yani hayır ile aynı -exif seçenek. Bu, bir dosyayı dönüştürdüğünüzde kullanışlıdır.
JFIF'i kullanarak PNM'ye jpegtopnm, sonra dönüştürün, ardından ile tekrar JFIF'e dönüştürün
pnmtojpegve bir EXIF ​​başlığı içerip içermediğini bilmiyorsunuz. jpegtopnm
JFIF girişi yapıldığında iki bayttan başka hiçbir şey içermeyen bir EXIF ​​dosyası oluşturur.
dosyanın EXIF ​​başlığı yok. Böylece girişten herhangi bir EXIF ​​başlığını aktarabilirsiniz.
JFIF, bir EXIF ​​başlığının gerçekten olup olmadığı konusunda endişelenmeden JFIF çıktısına
bulunmaktadır.

Uzunluk alanından sonraki EXIF ​​dosyasının içeriği, bayt için tam bayttır.
APP1 işaretçisinin içeriği, uzunluk alanını saymaz ve
EXIF başlığı.

--kalite=n
Görüntü kalitesini ayarlamak için niceleme tablolarını ölçeklendirin. n 0 (en kötü) ila 100 (en iyi);
varsayılan 75'tir. (Daha fazla bilgi için aşağıya bakın.)

--gri tonlamalı

--gri tonlamalı
Gri tonlamalı JFIF dosyası oluşturun. Bu seçenekle, pnmtojpeg renk girişini dönüştürür
gri skala. Bu seçeneği belirlemezseniz, Çıktı dosyası renkli formattadır.
giriş PPM ise ve giriş PBM veya PGM ise gri tonlamalı format.

PPM giriş durumunda, görüntüdeki tüm renkler gri olsa bile çıktı
renk formatında. Tabii ki, içindeki renkler hala gri. fark
bu renk formatı çok daha fazla yer kaplar ve oluşturulması ve işlenmesi daha uzun sürer.

--optimize etmek
Entropi kodlama parametrelerinin optimizasyonunu gerçekleştirin. Bu olmadan, pnmtojpeg kullanım
varsayılan kodlama parametreleri. --optimize etmek genellikle JFIF dosyasını biraz yapar
daha küçük ama pnmtojpeg biraz daha yavaş çalışır ve çok daha fazla belleğe ihtiyaç duyar. resim
dekompresyonun kalitesi ve hızı etkilenmez --optimize etmek.

--ilerici
Aşamalı bir JPEG dosyası oluşturun (aşağıya bakın).

--yorum=metin
JFIF çıktısına yorum metniyle birlikte bir yorum işaretçisi ekleyin metin. Bu olmadan
seçeneği, çıktıda yorum işaretçisi yoktur.

The --kalite seçeneği, sıkıştırılmış dosya boyutunun kalitesine karşı değiş tokuş yapmanızı sağlar.
yeniden oluşturulmuş görüntü: kalite ayarı ne kadar yüksekse, JFIF dosyası o kadar büyük ve
çıktı görüntüsü orijinal girdiye daha yakın olacaktır. Normalde kullanmak istersiniz
görsel olarak bir şeye açılan en düşük kalite ayarı (en küçük dosya)
orijinal görüntüden ayırt edilemez. Bu amaçla kalite ayarı
50 ile 95 arasında; 75 varsayılanı genellikle doğrudur. kusurları görürseniz
--kalite=75, ardından çıktıdan memnun kalana kadar bir seferde 5 veya 10 sayı yukarı çıkın
görüntü. (Optimal ayar bir görüntüden diğerine değişecektir.)

--kalite=100 içindeki kaybı en aza indirerek tüm 1'lerin bir niceleme tablosu oluşturur.
niceleme adımı (ancak alt örneklemede ve yuvarlamada hala bilgi kaybı var
hata). Bu ayar, esas olarak deneysel amaçlar için ilgi çekicidir. Kalite değerleri
yaklaşık 95'in üzerinde değil normal kullanım için önerilir; sıkıştırılmış dosya boyutu artar
çıktı görüntü kalitesinde neredeyse hiç kazanç sağlamak için önemli ölçüde.

Diğer yönde, 50'nin altındaki kalite değerleri, düşük görüntülü çok küçük dosyalar üretecektir.
kalite. 5 ila 10 civarındaki ayarlar, büyük bir görüntünün indeksini hazırlamada faydalı olabilir
örneğin kütüphane. Denemek --kalite=2 (ya da öyle) bazı eğlenceli Kübist etkiler için. (Not:
Yaklaşık 25'in altındaki kalite değerleri, kabul edilen 2 baytlık niceleme tabloları oluşturur.
JFIF standardında isteğe bağlı. pnmtojpeg böyle bir şey verdiğinizde bir uyarı mesajı verir.
kalite değeri, çünkü diğer bazı JFIF programları elde edilen sonucun kodunu çözemeyebilir.
dosya. Kullanmak --temel düşük kalite değerlerinde uyumluluk sağlamanız gerekiyorsa.)

The --ilerici seçeneği bir "aşamalı JPEG" dosyası oluşturur. Bu tür JFIF dosyasında,
veriler, artan kalitede çoklu taramalarda saklanır. dosya yapılıyorsa
yavaş bir iletişim bağlantısı üzerinden iletilen kod çözücü, görüntülemek için ilk taramayı kullanabilir
çok hızlı bir şekilde düşük kaliteli bir görüntü oluşturur ve ardından her bir sonraki görüntüde ekranı iyileştirebilir.
tarama. Nihai görüntü, aynı kalitedeki standart bir JFIF dosyasına tam olarak eşdeğerdir.
ayar ve toplam dosya boyutu aşağı yukarı aynıdır -- genellikle biraz daha küçüktür. Dikkat:
progresif JPEG henüz geniş çapta uygulanmadı, bu nedenle birçok kod çözücü bir
hiç aşamalı JPEG dosyası.

Gelişmiş kullanıcılar için seçenekler:

--dct=int
Tamsayı DCT yöntemini kullanın (varsayılan).

--dct=hızlı
Hızlı tamsayılı DCT kullanın (daha az doğru).

--dct=yüzer
Kayan noktalı DCT yöntemini kullanın. Float yöntemi çok az daha doğrudur
int yönteminden daha hızlıdır, ancak makineniz çok hızlı kayan-
nokta donanımı. Ayrıca kayan nokta yönteminin sonuçlarının değişebileceğini unutmayın.
makineler arasında biraz, tamsayı yöntemleri aynı sonuçları vermelidir
her yerde. Hızlı tamsayı yöntemi, diğer ikisinden çok daha az doğrudur.

--yeniden başlat=n
Her seferinde bir JPEG yeniden başlatma işaretçisi yayınlayın n MCU satırları veya her n eklerseniz MCU blokları B
numaraya. --tekrar başlat 0 (varsayılan), yeniden başlatma işaretçisi olmadığı anlamına gelir.

--pürüzsüz=n
Titreşim gürültüsünü ortadan kaldırmak için giriş görüntüsünü düzeltin. n1 ile 100 arasında değişen,
yumuşatma gücünü gösterir. 0 (varsayılan) yumuşatma olmadığı anlamına gelir.

--maksimum bellek=n
Büyük görüntülerin işlenmesinde kullanılacak bellek miktarı için bir sınır belirleyin. Değer
binlerce bayt veya eklerseniz milyonlarca bayt M numaraya. İçin
örnek, --maks=4m 4,000,000 bayt seçer. Eğer pnmtojpeg daha fazla alana ihtiyacı olacak,
geçici dosyalar kullanın.

--ayrıntılı
Dönüştürme işlemiyle ilgili Standart Hata dosyası mesajlarını yazdırın. Bu
hata ayıklama sorunlarına yardımcı olun.

The --tekrar başlat seçenek söyler pnmtojpeg JPEG kod çözücünün
bir iletim hatasından sonra yeniden senkronize edin. Yeniden başlatma işaretleri olmadan, herhangi bir hasar
sıkıştırılmış dosya genellikle görüntüyü hata noktasından programın sonuna kadar mahveder.
görüntü; yeniden başlatma işaretçileriyle, hasar genellikle görüntünün yukarı kısmıyla sınırlıdır
sonraki yeniden başlatma işaretçisine Elbette, yeniden başlatma işaretleri fazladan yer kaplar. Biz
tavsiye etmek --yeniden başlat=1 gibi güvenilmez ağlar üzerinden iletilecek görüntüler için
Usenet olarak.

The --düz seçeneği, ince ölçekli gürültüyü ortadan kaldırmak için girişi filtreler. Bu genellikle yararlıdır
titrek görüntüleri JFIF'e dönüştürürken: 10 ila 50 arasında orta düzeyde bir yumuşatma faktörü ortadan kalkar
girdi dosyasındaki renk taklidi desenlerinin sayısı, daha küçük bir JFIF dosyası ve daha iyi bir
görüntü arıyorum. Bununla birlikte, çok büyük bir yumuşatma faktörü, görüntüyü gözle görülür şekilde bulanıklaştıracaktır.

Sihirbazlar için seçenekler:

--temel
Temel uyumlu nicemleme tablolarını oluşturulmaya zorlayın. bu kelepçeler
Düşük kalite ayarlarında bile niceleme değerleri 8 bit'e kadar. (Bu anahtar yetersiz
çıktının aslında temel JPEG olduğundan emin olmadığı için adlandırılmıştır. İçin
örneğin, kullanabilirsiniz --temel ve --ilerici bir arada.)

--qtables=dosya özelliği
Belirtilen metin dosyasında verilen niceleme tablolarını kullanın.

--qslots=n[,...]
Her bir renk bileşeni için hangi niceleme tablosunun kullanılacağını seçin.

--örnek=YxV[,...]
Her renk bileşeni için JPEG örnekleme faktörlerini ayarlayın.

--taramalar=dosya özelliği
Belirtilen metin dosyasında verilen tarama komut dosyasını kullanın. hakkında bilgi için aşağıya bakın
komut dosyalarını tarayın.

"Sihirbaz" seçenekleri, JPEG ile denemeler için tasarlanmıştır. ne olduğunu bilmiyorsan
sen yapıyorsun, değil mi kullanım onları. Bu anahtarlar dosyada daha ayrıntılı olarak belgelenmiştir.
Independent JPEG Group'un JPEG kitaplığıyla birlikte gelen sihirbaz.doc.

ÖRNEKLER


Bu örnek, foo.ppm PPM dosyasını 60 kalite faktörü ile sıkıştırır ve
foo.jpg olarak çıktı:

pnmtojpeg --kalite=60 foo.ppm > foo.jpg

kedi foo.bmp | bmtoppm | pnmtojpeg > foo.jpg

İPUÇLARI


JFIF, yalnızca birkaç tane içeren karikatürler, çizimler ve diğer görüntüler için ideal değildir.
belirgin renkler. Bunun yerine deneyin pnmtopng or ppmtbmp. dönüştürmeniz gerekiyorsa
JFIF'e böyle bir görüntü olsa da, denemelisin pnmtojpeg's --kalite ve
--düz tatmin edici bir dönüşüm elde etmek için seçenekler. --düz 10 ya da öylesine genellikle yararlıdır.

JPEG sıkıştırması "kayıplı" olduğu için dikkate değerdir. Bu demektir ki, çoğundan farklı olarak
grafik dönüşümleri, dönüştürdüğünüzde görüntü kalitesi anlamına gelen bilgileri kaybedersiniz.
JFIF. PPM'den JFIF'e ve tekrar tekrar geri çevirirseniz, görüntü kalitesi kaybı
biriktirmek. On ya da daha fazla döngüden sonra görüntü, öncekinden belirgin şekilde daha kötü olabilir.
bir döngü.

Bu nedenle, görüntü üzerinde yapmanız gereken tüm manipülasyonları bazı durumlarda yapmalısınız.
başka bir format atın ve son adım olarak JFIF'e dönüştürün. Ve eğer bir kopyasını saklayabilirsen
orijinal format, çok daha iyi. PNG, kayıpsız bir format için iyi bir seçimdir.
henüz oldukça kompakt. GIF, gitmenin başka bir yoludur, ancak büyük olasılıkla bir GIF oluşturamazsınız
LZW'de patent sahipleri olan Unisys ve IBM'e çok fazla borcu olmayan görüntü
GIF formatında kullanılan sıkıştırma.

The --optimize etmek için seçenek pnmtojpeg "son" bir sürüm yaparken kullanmaya değer
Göndermek veya arşivlemek için. yapmak için düşük kaliteli ayarlar kullandığınızda da bir kazançtır.
çok küçük JFIF dosyaları; yüzde iyileştirme genellikle daha büyük olduğundan çok daha fazladır
Dosyalar. (Şu anda, --optimize etmek oluşturduğunuzda mod otomatik olarak etkinleşir.
aşamalı JPEG dosyası).

Başka bir program, cjpeg, benzer. cjpeg Independent JPEG Group tarafından korunur ve
JPEG kitaplığı ile paketlenmiştir. pnmtojpeg tüm JPEG çalışmaları için kullanır. çünkü
bu, daha güncel JPEG özelliklerinden yararlanmasını bekleyebilirsiniz. Ayrıca, zorunda olduğunuz için
çalıştırmak için kütüphaneye sahip olmak pnmtojpeg, ama tersi değil, cjpeg daha yaygın olabilir
kullanılabilir.

Öte yandan, cjpeg girdilerini işlemek için NetPBM kitaplıklarını kullanmaz;
gibi NetPBM araçları pnmtojpeg yapmak. Bu, aşağıdakilerle tutarlı olma olasılığının daha düşük olduğu anlamına gelir.
NetPBM formatlarıyla ilgilenen diğer tüm programlar. Ayrıca, komut sözdizimi
pnmtojpeg aksine, diğer Netpbm araçlarınınkiyle tutarlıdır. cjpeg.

TARAMA KODLAR


Kullan -Tarama tarama komut dosyası belirtme seçeneği. Veya -ilerici belirtme seçeneği
belirli bir yerleşik tarama komut dosyası.

Tarama komut dosyasının tam olarak ne olduğu ve tarama komut dosyasının temel biçimi,
the sihirbaz.doc Independent JPEG Group'un JPEG kitaplığıyla birlikte gelen dosya. Tarama
scriptler aynı pnmtojpeg olduğu gibi cjpeg.

Bu bölüm, bu bölümde olmayan, ancak muhtemelen olması gereken ek bilgileri içerir.
belge.

İlk olarak, geçerli bir tarama komut dosyasının ne olduğu konusunda birçok kısıtlama vardır. JPEG kitaplığı ve
Böylece pnmtojpeg, bu kısıtlamalara uyulup uyulmadığını baştan sona kontrol eder, ancak
betiğin nasıl uymadığını size anlatmak için çok az şey yapar. Mesajlar çok genel ve
bazen gerçek dışı.

Başlangıç ​​olarak, DC katsayısı girdileri, AC için herhangi bir girdiden önce gelmelidir.
katsayılar. DC katsayısı Katsayı 0'dır; diğer tüm katsayılar AC'dir
katsayılar. Bu nedenle, DC katsayısı için bir girişte, iki nokta üst üste işaretinden sonraki iki sayı
0 ve 0 olsun. AC katsayıları için bir girişte, iki nokta üst üste işaretinden sonraki ilk sayı olmamalıdır.
0.

Bir DC girişinde, renk bileşenleri artan sırada olmalıdır. Örneğin "0,2,1" öncesinde
kolon yanlış. "0,0,0" da öyle.

Bir AC katsayısı girişinde yalnızca bir renk bileşeni belirtmelisiniz. yani orada
iki nokta üst üste işaretinden önce yalnızca bir sayı olabilir.

Belirli bir renk bileşeni için belirli bir katsayı için ilk girişte, "Ah"
değeri sıfır olmalıdır, ancak Al değeri geçerli herhangi bir bit numarası olabilir. Sonraki girişlerde,
Ah, önceki girişteki Al değeri olmalıdır (o renk için bu katsayı için
bileşeni) ve Al değeri Ah değerinden bir eksik olmalıdır.

Komut dosyası sonuçta her renk için DC katsayısının en azından bir kısmını belirtmelidir.
bileşen. Aksi takdirde, "Komut dosyası tüm verileri iletmiyor" hata mesajını alırsınız.
DC katsayısının tüm bitlerini veya AC katsayılarından herhangi birini belirtmeniz gerekmez.

Tarama komut dosyası özelliğini atlamak için JPEG kitaplığı oluşturmada standart bir seçenek vardır.
Herhangi bir nedenle kitaplığınız bu seçenekle oluşturulmuşsa, "İstendi" mesajını alırsınız.
özellik derleme zamanında atlandı."

ÇEVRE


JPEGMEM
Bu ortam değişkeni ayarlanırsa, değeri varsayılan bellek sınırıdır. NS
değer için açıklandığı gibi belirtilir --maksimum bellek seçenek. açık bir
--maksimum bellek seçenek herhangi birini geçersiz kılar JPEGMEM.

onworks.net hizmetlerini kullanarak ppmtojpeg'i çevrimiçi kullanın



En yeni Linux ve Windows çevrimiçi programları