Saya ingin menggunakan ImageMagick untuk mengonversi beberapa file dari jp2 (JPEG-2000) ke jpg. Perintah untuk melakukan itu baik-baik saja, tapi saya tidak tahu cara mengaktifkan delegasi jp2 di ImageMagick.
Saya telah menginstal ImageMagick melalui manajer paket: sudo apt-get install ImageMagick
.
Saya menggunakan ImageMagick 6.8.9-9, ini adalah versi terbaru dari ImageMagick apt-get
.
Saat ini, banyak jenis file utama disertakan secara otomatis. Perpustakaan berikut ini memiliki dukungan bawaan dan terdaftar sebagai delegasi:
bzlib cairo djvu fftw fontconfig freetype jbig jng jpeg lcr ltdl lzma openexr pangocairo png rsvg tiff wmf x xml zlib
Sunting : Seharusnya saya sebutkan, saya sudah mencoba konversi file sebelum mulai bertengkar openjpeg-2
. Perintah like convert input.jp2 output.jpg
memberi saya pesan kesalahan:
convert: no delegate decode untuk format gambar ini `JP2 '@ error / constitute.c / ReadImage / 501.
Jadi, saya harus membuat jp2 berfungsi. Pustaka yang relevan adalah openjpeg-2
, dan halaman delegasi ImageMagick memberikan tarball openjpeg-2.0.0.tar.gz
,.
Oke, jadi saya unduh dan ikuti instruksi untuk menginstal yang diberikan dalam file instal. Barang normal: cmake .
, sudo make install
.
Tapi sekarang, bagaimana cara mengkonfigurasi ImageMagick sehingga 'mengambil' open-jpeg-2.0.0
? Apakah saya harus membangun kembali ImageMagick dari sumber untuk melakukannya? Atau ada perintah yang bisa saya masukkan untuk mendapatkan ImageMagick untuk mengaktifkannya? Atau file yang harus saya ubah, dll?
Saya telah menghabiskan waktu berabad-abad untuk meneliti hal ini, membaca banyak T&J online, tetapi saya masih tidak memecahkannya. Ini adalah masalah pengetahuan Linux saya alih-alih ada hubungannya dengan ImageMagick sendiri , jadi saya akan sangat menghargainya jika seseorang dapat membantu saya mencari tahu apa langkah yang hilang di sini. Terima kasih.
gm convert in.jp2 out.jpg
Jawaban:
Instal
libopenjp2-tools
dan gunakanopj_decompress
untuk mengonversi jp2 ke yang lain:Paket ini dilengkapi dengan alat baris perintah yang memungkinkan konversi antara beberapa format dan juga menyediakan alat untuk encoding dan decoding format video motion-jpeg2000:
sumber
Saya mengatasi masalah saya dalam mengaktifkan delegasi openjp2 di Imagemagick.
Pastikan Anda telah menginstal:
Sekarang ketika Anda memulai,
./configure
Anda dapat melihat delegasi openjp2sumber
Dari instalasi default saya dari Image Magick 6.8.9.9 dari repositori Ubuntu 16.04 tampaknya Jpeg200 (
.jp2
) didukung sepenuhnya.Konversi dapat dilakukan dengan:
Untuk opsi baris perintah esp. tentang opsi pengodean atau penanganan gambar ubin, lihat dokumentasi online Image Magick .
Namun harus dikatakan bahwa
jp2
tidak tercantum dalam daftar format yang didukung:Namun demikian ternyata masih berfungsi dengan baik.
sumber
convert in.jp2 out.jpg
), saya mendapatkan pesan kesalahan bahwa saya tidak memiliki delegasi jp2: convert: no decode delegate untuk format gambar ini 'JP2' @ error / constute.c / ReadImage / 501. Saya di 6.8.9.9 (dariconvert --version
: Versi: ImageMagick 6.8.9-9 Q16 x86_64 2017-03-14 imagemagick.org ). Sangat aneh bahwa versi Anda tidak mencantumkan jp2 sebagai format tetapi masih berfungsi! Apakah file output jpg valid?libopenjp2-dev
dan membangun kembali dari sumber, tetap saja tidak berhasil. Sayangnya saya 100% macet. Terima kasih atas balasan Anda!@arokath Seperti Anda, saya tidak dapat menemukan dukungan jp2 dalam versi ImageMagick yang saya instal melalui apt-get (Ubuntu 16.04.1 LTS).
Sebelum membangun dari sumber (mengikuti dokumen ImageMagick ), saya menginstal dulu
libopenjp2-tools
dan kemudianlibopenjp2-7-dev
.Catatan : Saya tidak yakin yang mana yang melakukan trik: ringkasan alfabet pada akhir
configure
dukungan jp2 terdaftar sebagaiOpenJP2
, daripadaJP2
yang saya tidak perhatikan sampai saya telah menginstallibopenjp2-7-dev
dan mengkonfigurasi ulang; sangat mungkin itu bekerja hanya dengan lib pertama.Selain
./configure
,make
danmake install
, saya menemukan bahwa saya perlu (seperti yang disarankan dalam dokumen) untuk "configure linker dinamis":sudo ldconfig /usr/local/lib
.Sekarang, output
/usr/local/bin/identify -list format
mengandung:sumber
libopenjp2-tools
danlibopenjp2-7-dev
menggunakanapt-get
, kemudian dibangun dari sumber, lalu berlarisudo ldconfig /usr/local/lib
. (Dengan kata lain, ikuti dokumen). MASIH tidak ada JP2. Argh! Ini melakukan kepalaku masuk. Aku akan menjalankan proses lagi untuk berjaga-jaga../configure
, ia memeriksa JP2 dan tidak menemukannya: "memeriksa LIBOPENJP2 ... tidak" . Sebagai bonus, sekarang ini tidak berfungsi untuk konversi JPEG secara umum. Ketika saya mencobaconvert in.png out.jpg
membuat file, tetapi tidak valid - itu file PNG hanya dengan ekstensi jpg. Saya tidak tahu mengapa JPEG tiba-tiba harus rusak ketika saya telah dikompilasi dari sumber!