ImageMagick'te JPEG2000 (jp2) nasıl etkinleştirilir?


14

ImageMagick jp2 (JPEG-2000) jpg bazı dosyaları dönüştürmek için kullanmak istiyorum. Bunu yapmak için komut gayet iyi, ama nasıl ImageMagick jp2 delege etkinleştirmek için bilmiyorum.

Ben paket yöneticisi aracılığı ImageMagick kurulu: sudo apt-get install ImageMagick.
ImageMagick 6.8.9-9 kullanıyorum, bu ImageMagick'in mevcut en güncel sürümüdür apt-get.

Şu anda, birçok ana dosya türü otomatik olarak dahil edilmektedir. Aşağıdaki kitaplıklar yerleşik desteğe sahiptir ve temsilci olarak listelenir:

bzlib cairo djvu fftw fontconfig freetype jbig jng jpeg lcms lqr ltdl lzma openexr pangocairo png rsvg tiff wmf x xml zlib

Düzenleme : Bahsetmeliydim, kavga etmeye başlamadan önce dosya dönüşümlerini denedim openjpeg-2. Gibi bir komut convert input.jp2 output.jpgbana hata mesajı verir:

convert: `JP2 'bu hata için kod çözme delegesi yok @ error / constitute.c / ReadImage / 501.

Yani, jp2'yi çalıştırmam gerekiyor. İlgili kütüphane openjpeg-2ve ImageMagick'in delegeler sayfası tarball'ı verir openjpeg-2.0.0.tar.gz.

Tamam, bu yüzden indirdim ve kurulum dosyasında verilen kurulum talimatlarını takip ettim. Normal şeyler: cmake ., sudo make install.

Ama şimdi, ImageMagick'i 'alacak' şekilde nasıl yapılandırırım open-jpeg-2.0.0? Bunu yapmak için ImageMagick'i kaynaktan yeniden oluşturmak zorunda mıyım? Ya da ImageMagick'i etkinleştirmek için girebileceğim bir komut var mı? Veya değiştirmem gereken bir dosya, vb?

Yaşları ve yaşları buna bakarak geçirdim, çevrimiçi birçok soru-cevap okudum, ama hala çatlamadım. Benim Linux bilgisine yerine ImageMagick ile ilgisi şeyin bir konudur başına bunu takdir gerçekten diye biri bana eksik adım burada ne olduğunu anlamaya yardımcı olabilir. Teşekkür ederim.


Bunun yerine graphicsmagick kullanarak bu sorunu gm convert in.jp2 out.jpg
Sam Wilson

Yanıtlar:


3

Jp2'yi başka bir şeye dönüştürmek için yükleyin libopenjp2-toolsve kullanın opj_decompress:

sudo apt install libopenjp2-tools
opj_decompress -i m_3712213_sw_10_h_20160625_20161004.jp2 -OutFor TIF -o my.tif

Bu paket, çeşitli formatlar arasında dönüşüm sağlayan komut satırı araçları sağlar ve ayrıca motion-jpeg2000 video formatlarını kodlamak ve çözmek için araçlar sağlar:

  • opj_decompress: j2k, jp2 ve jpt dosyalarını pgm, ppm, pnm, pgx ve bmp olarak çözer.
  • opj_compress: pnm, pgm, pgx, bmp ve ppm dosyalarını j2k ve jp2'ye kodlar.
  • opj_dump: döküm bilgileri j2k ve jp2'de bulunur.
  • index_create: j2k dosyasından JPIP dizin dosyasıyla jp2 oluşturun.
  • frames_to_mj2: YUV video akışlarını mj2 biçimine dönüştürür.
  • mj2_to_frames: mj2 video akışlarını YUV biçimine dönüştürür.
  • wrap_j2k_in_mj2: j2k kod akışlarını mj2 formatına sarın.
  • extract-j2k-from_mj2: j2k kod akışlarını mj2 biçiminden ayıklayın.

2

Imagemagick'te openjp2 delegasyonunu etkinleştirme sorunumu çözdüm.

Yüklediğinizden emin olun:

Şimdi başlattığınızda openjp2 heyetini ./configuregörebilirsiniz

DELEGATES = mpeg jbig jng jpeg lcms lzma openjp2 png tiff zlib


1

Ubuntu 16.04 depolarından Image Magick 6.8.9.9 varsayılan kurulumumdan Jpeg200 ( .jp2) tam olarak destekleniyor gibi görünüyor .

Dönüşümler aşağıdakilerle yapılabilir:

convert in.png out.jp2
convert in.jp2 out.jpg

Komut satırı seçenekleri için esp. kodlama seçenekleri veya döşenmiş görüntülerin işlenmesi hakkında Image Magick çevrimiçi belgelerine bakın .

Bununla birlikte jp2, desteklenen biçimler listesinde yer almadığı söylenmelidir :

identify -list format

Yine de görünüşe göre hala iyi çalışıyor.


1
Teşekkürler @Takkat, benim için durum böyle değil. Bunu ( convert in.jp2 out.jpg) denediğimde , ben jp2 delege yok hata iletisini alıyorum: convert: Bu görüntü biçimi 'JP2' @ hata / constitute.c / ReadImage / 501 için kod çözme delegesi yok. Ben 6.8.9.9 (from convert --version: Sürüm: ImageMagick 6.8.9-9 Q16 x86_64 2017-03-14 imagemagick.org ). Sürümünüzün jp2'yi biçim olarak listelememesi, ancak yine de işe yaraması gerçekten garip! Jpg çıktı dosyaları geçerli mi?
arokath

@arokath: evet dosyalar geçerli - Ben ve dönüşümü test ettim. ImageViewer veya Gimp ile JPG okumak doğru, Gimp veya Darktable ile JP2 okumak iyiydi.
Takkat

Bu hata da alakalı. libopenjpeg2Başka bir uygulamadan yüklemiş olabilirim (bunu bugüne kadar test edemiyorum).
Takkat

1
Hmm, bu hata raporuna baktım. libopenjp2-devKaynaktan yükleme ve sonra yeniden oluşturma ile bile , hala çalışmıyor. Maalesef% 100 hala sıkışıp kaldım. Yine de cevaplarınız için teşekkürler!
arokath

1
Bu sorunun cevabı değil. Siz sadece bunun sizin için çalıştığını söylüyorsunuz! Ve belgelere bağlantı vermek bir cevap değil!
Azim

1

@arokath Sizin gibi, apt-get (Ubuntu 16.04.1 LTS) aracılığıyla yüklediğim ImageMagick sürümünde jp2 desteği bulamadım.

Kaynaktan ( ImageMagick belgelerini izleyerek) derlemeden önce, önce libopenjp2-toolsve sonra yükledim libopenjp2-7-dev.

Not : Hangisinin hile yaptığından emin değilim: configureListelenen jp2 desteğinin sonundaki alfabetik özet olarak OpenJP2, JP2yükleyip libopenjp2-7-devyeniden yapılandırıncaya kadar fark etmediğim gibi ; sadece ilk lib ile çalıştı.

Ayrıca ./configure, makeve make installben (docs önerildiği gibi) ben "yapılandırmak dinamik bağlayıcı" ihtiyacı olduğunu bulundu: sudo ldconfig /usr/local/lib.

Şimdi, /usr/local/bin/identify -list formatiçeriği içerir:

  J2C* rw-   JPEG-2000 Code Stream Syntax (2.1.0)
  J2K* rw-   JPEG-2000 Code Stream Syntax (2.1.0)
  JNX* r--   Garmin tile format
  JP2* rw-   JPEG-2000 File Format Syntax (2.1.0)
  JPC* rw-   JPEG-2000 Code Stream Syntax (2.1.0)
  JPM* rw-   JPEG-2000 File Format Syntax (2.1.0)
  JPT* rw-   JPEG-2000 File Format Syntax (2.1.0)
 JSON  -w+   The image format and characteristics

1
Bunun için teşekkürler. Maalesef hala sorun yaşıyorum! Yükledim libopenjp2-toolsve libopenjp2-7-devkullandım apt-get, sonra kaynaktan inşa ettim , sonra koştum sudo ldconfig /usr/local/lib. (Başka bir deyişle, dokümanları izledi). STILL JP2 yok. Ahh! Başımı içeri sokuyor. Her ihtimale karşı bu süreçten geçeceğim.
arokath

Hala şans yok. Ben çalışırken ./configure, JP2 kontrol eder ve bulamadık fark ettim : "LIBOPENJP2 kontrol ... hayır" . Bonus olarak, artık genel olarak JPEG dönüşümleri için çalışmıyor. Denediğimde convert in.png out.jpgbir dosya oluşturur, ancak geçersizdir - sadece jpg uzantılı bir PNG dosyasıdır. Kaynaktan derlediğimde neden JPEG'in birdenbire kırılması gerektiğini bilmiyorum!
arokath

"Apt-get build-dep imagemagick" komutunu çalıştırmayı deneyin, böylece imagemagick'in ihtiyaç duyduğu kütüphaneleri kurar (bunlar sürümde oluşturulmuş olanlar olacaktır, bu yüzden hala openjp2'ye ihtiyacınız olacak)
cbz
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.