ppmtojpeg - Online di Awan

Ini adalah perintah ppmtojpeg yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

PROGRAM:

NAMA


pnmtojpeg - mengonversi gambar PNM menjadi gambar JFIF ("JPEG")

RINGKASAN


pnmtojpeg [ Pilihan ] [ nama file ]

DESKRIPSI


pnmtojpeg mengonversi file gambar PBM, PGM, atau PPM bernama, atau input standar jika tidak ada file
diberi nama, ke file JFIF pada output standar.

pnmtojpeg menggunakan perpustakaan JPEG Independent JPEG Group untuk membuat file output. Lihat
http://www.ijg.org untuk informasi perpustakaan.

"JFIF" adalah nama yang tepat untuk format gambar yang umumnya dikenal sebagai "JPEG." Dengan ketat
berbicara, JPEG adalah metode kompresi. Format gambar menggunakan kompresi JPEG yang
sejauh ini yang paling umum adalah JFIF. Ada juga subformat TIFF yang menggunakan JPEG
kompresi.

EXIF adalah format gambar yang merupakan subformat dari JFIF (yaitu, file JFIF yang berisi
header EXIF ​​sebagai penanda APP1). pnmtojpeg membuat gambar EXIF ​​​​saat Anda menentukan
-exif .

PILIHAN


Opsi dasarnya adalah:

--exif=spesifikasi file
Opsi ini menetapkan bahwa gambar keluaran adalah EXIF ​​(subformat dari JFIF),
yaitu akan memiliki header EXIF ​​sebagai penanda JFIF APP1. Isinya itu
penanda adalah isi dari file yang ditentukan. Nilai khusus - artinya membaca
isi header EXIF ​​dari input standar. Tidak valid untuk menentukan standar
input untuk header EXIF ​​dan gambar input.

File EXIF ​​dimulai dengan bidang dua byte yang merupakan panjang file,
termasuk bidang panjang, dalam biner murni, byte paling signifikan terlebih dahulu. NS
nilai khusus nol untuk bidang panjang berarti tidak boleh ada header EXIF,
yaitu sama dengan tidak -exif pilihan. Ini berguna ketika Anda mengonversi file dari
JFIF ke PNM menggunakan jpegtopnm, lalu ubah, lalu ubah kembali menjadi JFIF dengan
pnmtojpeg, dan Anda tidak tahu apakah itu menyertakan header EXIF ​​atau tidak. jpegtopnm
membuat file EXIF ​​yang hanya berisi dua byte nol saat input JFIF
file tidak memiliki header EXIF. Dengan demikian, Anda dapat mentransfer header EXIF ​​​​apa pun dari input
JFIF ke output JFIF tanpa khawatir apakah header EXIF ​​benar-benar
ada

Isi file EXIF ​​setelah bidang panjang adalah byte yang tepat untuk byte
isi penanda APP1, tidak termasuk bidang panjang, yang merupakan
tajuk EXIF.

--kualitas=n
Skala tabel kuantisasi untuk menyesuaikan kualitas gambar. n adalah 0 (terburuk) hingga 100 (terbaik);
defaultnya adalah 75. (Lihat di bawah untuk info lebih lanjut.)

--skala abu-abu

--skala abu-abu
Buat file JFIF skala abu-abu. Dengan opsi ini, pnmtojpeg mengubah masukan warna menjadi
skala abu-abu. Jika Anda tidak menentukan opsi ini, File output dalam format warna
jika inputnya adalah PPM, dan format grayscale jika inputnya adalah PBM atau PGM.

Dalam kasus input PPM, meskipun semua warna dalam gambar berwarna abu-abu, outputnya adalah
dalam format warna. Tentu saja, warna di dalamnya masih abu-abu. Perbedaannya adalah
bahwa format warna membutuhkan lebih banyak ruang dan membutuhkan waktu lebih lama untuk dibuat dan diproses.

--optimalkan
Lakukan optimasi parameter entropi encoding. Tanpa ini, pnmtojpeg kegunaan
parameter pengkodean default. --optimalkan biasanya membuat file JFIF sedikit
lebih kecil, tapi pnmtojpeg berjalan agak lambat dan membutuhkan lebih banyak memori. Gambar
kualitas dan kecepatan dekompresi tidak terpengaruh oleh --optimalkan.

--progresif
Buat file JPEG progresif (lihat di bawah).

--komentar=teks
Sertakan penanda komentar di output JFIF, dengan teks komentar teks. Tanpa ini
pilihan, tidak ada penanda komentar di output.

--kualitas opsi memungkinkan Anda menukar ukuran file terkompresi dengan kualitas
gambar yang direkonstruksi: semakin tinggi pengaturan kualitas, semakin besar file JFIF, dan
lebih dekat gambar output akan ke input asli. Biasanya Anda ingin menggunakan
pengaturan kualitas terendah (file terkecil) yang didekompresi menjadi sesuatu secara visual
tidak dapat dibedakan dari gambar aslinya. Untuk tujuan ini, pengaturan kualitas harus:
antara 50 dan 95; default 75 sering kali benar. Jika Anda melihat cacat di
--kualitas=75, lalu naik 5 atau 10 hitungan sekaligus sampai Anda puas dengan hasilnya
gambar. (Pengaturan optimal akan bervariasi dari satu gambar ke gambar lainnya.)

--kualitas=100 menghasilkan tabel kuantisasi dari semua 1, meminimalkan kerugian dalam
langkah kuantisasi (tetapi masih ada kehilangan informasi dalam subsampling, serta pembulatan
kesalahan). Pengaturan ini terutama menarik untuk tujuan eksperimental. Nilai kualitas
di atas sekitar 95 adalah tidak direkomendasikan untuk penggunaan normal; ukuran file terkompresi naik
secara dramatis untuk hampir tidak ada keuntungan dalam kualitas gambar output.

Di arah lain, nilai kualitas di bawah 50 akan menghasilkan file gambar rendah yang sangat kecil
kualitas. Pengaturan sekitar 5 hingga 10 mungkin berguna dalam menyiapkan indeks gambar besar
perpustakaan, misalnya. Mencoba --kualitas=2 (atau lebih) untuk beberapa efek Cubist yang lucu. (Catatan:
nilai kualitas di bawah sekitar 25 menghasilkan tabel kuantisasi 2-byte, yang dianggap
opsional dalam standar JFIF. pnmtojpeg memancarkan pesan peringatan ketika Anda memberikan seperti
nilai kualitas, karena beberapa program JFIF lainnya mungkin tidak dapat memecahkan kode yang dihasilkan
mengajukan. Menggunakan --dasar jika Anda perlu memastikan kompatibilitas dengan nilai kualitas rendah.)

--progresif opsi membuat file "JPEG progresif". Dalam jenis file JFIF ini,
data disimpan dalam beberapa pemindaian dengan kualitas yang meningkat. Jika file sedang
ditransmisikan melalui tautan komunikasi yang lambat, dekoder dapat menggunakan pemindaian pertama untuk ditampilkan
gambar berkualitas rendah dengan sangat cepat, dan kemudian dapat meningkatkan tampilan dengan setiap berikutnya
memindai. Gambar akhir persis sama dengan file JFIF standar dengan kualitas yang sama
pengaturan, dan ukuran file total hampir sama -- seringkali sedikit lebih kecil. Peringatan:
JPEG progresif belum diterapkan secara luas, sehingga banyak dekoder tidak dapat melihat
file JPEG progresif sama sekali.

Opsi untuk pengguna tingkat lanjut:

--dct=ke dalam
Gunakan metode DCT bilangan bulat (default).

--dct=cepat
Gunakan DCT bilangan bulat cepat (kurang akurat).

--dct=mengambang
Gunakan metode DCT floating-point. Metode float sedikit lebih akurat
daripada metode int, tetapi jauh lebih lambat kecuali mesin Anda memiliki floating-
perangkat keras titik. Perhatikan juga bahwa hasil metode floating-point dapat bervariasi
sedikit di seluruh mesin, sedangkan metode integer harus memberikan hasil yang sama
di mana pun. Metode bilangan bulat cepat jauh kurang akurat daripada dua lainnya.

--mulai ulang=n
Pancarkan penanda restart JPEG setiap n Baris MCU, atau setiap n Blok MCU jika Anda menambahkan B
ke nomor. --mengulang kembali 0 (default) berarti tidak ada penanda restart.

--halus=n
Menghaluskan gambar input untuk menghilangkan gangguan dithering. n, mulai dari 1 hingga 100,
menunjukkan kekuatan smoothing. 0 (default) berarti tidak ada smoothing.

--maxmemori=n
Tetapkan batas jumlah memori yang akan digunakan dalam memproses gambar besar. Nilai ada di
ribuan byte, atau jutaan byte jika Anda menambahkan M ke nomor. Untuk
contoh, --maks=4m memilih 4,000,000 byte. Jika pnmtojpeg membutuhkan lebih banyak ruang, itu akan
menggunakan file sementara.

--bertele-tele
Cetak ke pesan file Kesalahan Standar tentang proses konversi. Ini bisa
membantu dalam men-debug masalah.

--mengulang kembali pilihan memberitahu pnmtojpeg untuk menyisipkan penanda tambahan yang memungkinkan dekoder JPEG untuk
sinkronisasi ulang setelah kesalahan transmisi. Tanpa penanda restart, kerusakan apapun pada a
file terkompresi biasanya akan merusak gambar dari titik kesalahan hingga akhir
gambar; dengan penanda restart, kerusakan biasanya terbatas pada bagian gambar ke atas
ke penanda restart berikutnya. Tentu saja, penanda restart menempati ruang ekstra. Kita
sarankan --mulai ulang=1 untuk gambar yang akan ditransmisikan melalui jaringan yang tidak dapat diandalkan seperti
sebagai Usenet.

--halus opsi menyaring input untuk menghilangkan noise skala halus. Ini sering berguna
saat mengonversi gambar yang ragu-ragu ke JFIF: faktor penghalusan sedang dari 10 hingga 50 menghilangkan
pola dithering dalam file input, menghasilkan file JFIF yang lebih kecil dan
mencari gambar. Namun, faktor penghalusan yang terlalu besar akan terlihat mengaburkan gambar.

Opsi untuk penyihir:

--dasar
Paksa tabel kuantisasi yang kompatibel dengan baseline untuk dibuat. klem ini
nilai kuantisasi hingga 8 bit bahkan pada pengaturan kualitas rendah. (Switch ini buruk
dinamai, karena tidak memastikan bahwa output sebenarnya adalah JPEG baseline. Untuk
contoh, Anda dapat menggunakan --dasar dan --progresif bersama.)

--qtabel=spesifikasi file
Gunakan tabel kuantisasi yang diberikan dalam file teks yang ditentukan.

--qslot=n[,...]
Pilih tabel kuantisasi yang akan digunakan untuk setiap komponen warna.

--contoh=HxV[,...]
Atur faktor pengambilan sampel JPEG untuk setiap komponen warna.

--scan=spesifikasi file
Gunakan skrip pemindaian yang diberikan dalam file teks yang ditentukan. Lihat di bawah untuk informasi tentang
memindai skrip.

Opsi "wizard" dimaksudkan untuk eksperimen dengan JPEG. Jika Anda tidak tahu apa?
Anda sedang melakukan, tidak menggunakan mereka. Sakelar ini didokumentasikan lebih lanjut dalam file
wizard.doc yang disertakan dengan perpustakaan JPEG Independent JPEG Group.

CONTOH


Contoh ini mengompresi file PPM foo.ppm dengan faktor kualitas 60 dan menyimpannya
keluaran sebagai foo.jpg:

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

kucing foo.bmp | bmptoppm | pnmtojpeg > foo.jpg

HINTS


JFIF tidak ideal untuk kartun, gambar garis, dan gambar lain yang hanya memiliki sedikit
warna yang berbeda. Untuk itu, coba saja pnmtopng or ppmtobmp. Jika Anda perlu mengonversi
gambar seperti itu ke JFIF, Anda harus bereksperimen dengan pnmtojpeg's --kualitas dan
--halus pilihan untuk mendapatkan konversi yang memuaskan. --halus 10 atau lebih sering membantu.

Kompresi JPEG terkenal sebagai "lossy." Ini berarti, tidak seperti kebanyakan
konversi grafis, Anda kehilangan informasi, yang berarti kualitas gambar, saat Anda mengonversi ke
JFI. Jika Anda mengonversi dari PPM ke JFIF dan kembali berulang kali, kehilangan kualitas gambar akan
mengumpulkan. Setelah sepuluh atau lebih siklus gambar mungkin terasa lebih buruk daripada setelahnya
satu siklus.

Karena itu, Anda harus melakukan semua manipulasi yang harus Anda lakukan pada gambar di beberapa
format lain dan konversikan ke JFIF sebagai langkah terakhir. Dan jika Anda dapat menyimpan salinannya di
format aslinya, jauh lebih baik. PNG adalah pilihan yang baik untuk format yang lossless,
namun cukup kompak. GIF adalah cara lain, tetapi kemungkinan Anda tidak dapat membuat GIF
gambar tanpa berhutang banyak uang kepada Unisys dan IBM, pemegang paten di LZW
kompresi yang digunakan dalam format GIF.

--optimalkan pilihan untuk pnmtojpeg layak digunakan saat Anda membuat versi "final"
untuk posting atau pengarsipan. Ini juga merupakan kemenangan ketika Anda menggunakan pengaturan kualitas rendah untuk membuat
file JFIF yang sangat kecil; peningkatan persentase seringkali jauh lebih banyak daripada yang lebih besar
file. (Saat sekarang, --optimalkan mode secara otomatis berlaku saat Anda membuat
file JPEG progresif).

Program lain, cjpeg, mirip. cjpeg dikelola oleh Independent JPEG Group dan
dikemas dengan perpustakaan JPEG yang pnmtojpeg digunakan untuk semua pekerjaan JPEG-nya. Karena
itu, Anda mungkin mengharapkannya untuk mengeksploitasi lebih banyak fitur JPEG saat ini. Juga, karena kamu harus
memiliki perpustakaan untuk dijalankan pnmtojpeg, tapi tidak sebaliknya, cjpeg mungkin lebih umum
tersedia.

Di sisi lain, cjpeg tidak menggunakan perpustakaan NetPBM untuk memproses inputnya, karena semua
alat NetPBM seperti pnmtojpeg melakukan. Ini berarti kecil kemungkinannya untuk konsisten dengan
semua program lain yang berhubungan dengan format NetPBM. Juga, sintaks perintah dari
pnmtojpeg konsisten dengan alat Netpbm lainnya, tidak seperti cjpeg.

SCAN SKRIP


Gunakan -memindai opsi untuk menentukan skrip pemindaian. Atau gunakan -progresif pilihan untuk menentukan
skrip pemindaian bawaan tertentu.

Apa itu skrip pemindaian, dan format dasar file skrip pemindaian, tercakup dalam
itu wizard.doc file yang disertakan dengan perpustakaan JPEG Independent JPEG Group. Pindai
skripnya sama untuk pnmtojpeg seperti untuk cjpeg.

Bagian ini berisi informasi tambahan yang tidak, tetapi mungkin seharusnya, dalam hal itu
dokumen.

Pertama, ada banyak batasan tentang apa itu skrip pemindaian yang valid. Pustaka JPEG, dan
demikian pnmtojpeg, memeriksa secara menyeluruh apakah ada ketidakpatuhan terhadap pembatasan ini, tetapi
tidak banyak memberi tahu Anda bagaimana skrip gagal untuk mematuhi. Pesannya sangat umum dan
terkadang tidak benar.

Untuk memulainya, entri untuk koefisien DC harus didahulukan sebelum entri untuk AC
koefisien. Koefisien DC adalah Koefisien 0; semua koefisien lainnya adalah AC
koefisien. Jadi dalam entri untuk koefisien DC, dua angka setelah titik dua harus
menjadi 0 dan 0. Dalam entri untuk koefisien AC, angka pertama setelah titik dua tidak boleh
0.

Dalam entri DC, komponen warna harus dalam urutan yang meningkat. Misal "0,2,1" sebelum
usus besar salah. Begitu juga dengan "0,0,0".

Dalam entri untuk koefisien AC, Anda harus menentukan hanya satu komponen warna. Yaitu disana
hanya boleh satu angka sebelum titik dua.

Dalam entri pertama untuk koefisien tertentu untuk komponen warna tertentu, "Ah"
nilai harus nol, tetapi nilai Al dapat berupa angka bit yang valid. Dalam entri berikutnya,
Ah harus nilai Al dari entri sebelumnya (untuk koefisien untuk warna itu
komponen), dan nilai Al harus lebih kecil satu dari nilai Ah.

Skrip pada akhirnya harus menentukan setidaknya beberapa koefisien DC untuk setiap warna
komponen. Jika tidak, Anda mendapatkan pesan kesalahan "Script tidak mengirimkan semua data."
Anda tidak perlu menentukan semua bit dari koefisien DC, atau salah satu dari koefisien AC.

Ada opsi standar dalam membangun perpustakaan JPEG untuk menghilangkan kemampuan skrip pemindaian.
Jika karena alasan tertentu perpustakaan Anda dibuat dengan opsi ini, Anda mendapatkan pesan "Diminta
fitur dihilangkan pada waktu kompilasi."

LINGKUNGAN


JPEGMEM
Jika variabel lingkungan ini disetel, nilainya adalah batas memori default. NS
nilai ditentukan seperti yang dijelaskan untuk --memori maksimal pilihan. eksplisit
--memori maksimal opsi mengesampingkan apa pun JPEGMEM.

Gunakan ppmtojpeg online menggunakan layanan onworks.net



Program online Linux & Windows terbaru