ImageMagick में JPEG2000 (jp2) को कैसे सक्षम करें?


13

मैं कुछ फ़ाइलों को jp2 (JPEG-2000) से jpg में बदलने के लिए ImageMagick का उपयोग करना चाहता हूं। ऐसा करने की आज्ञा ठीक है, लेकिन मैं नहीं जानता कि ImageMagick में jp2 प्रतिनिधि को कैसे सक्षम किया जाए।

मैंने पैकेज मैनेजर के माध्यम से ImageMagick स्थापित किया है sudo apt-get install ImageMagick:।
मैं ImageMagick 6.8.9-9 का उपयोग कर रहा हूं, यह ImageMagick के नवीनतम संस्करण से उपलब्ध है apt-get

वर्तमान में, मुख्य फ़ाइल प्रकारों का एक बहुत स्वचालित रूप से शामिल है। निम्नलिखित पुस्तकालयों में अंतर्निहित समर्थन है और प्रतिनिधियों के रूप में सूचीबद्ध हैं:

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

संपादित करें : मुझे उल्लेख करना चाहिए, मैंने शुरू करने से पहले फ़ाइल रूपांतरणों की कोशिश की openjpeg-2। एक आदेश convert input.jp2 output.jpgमुझे त्रुटि संदेश देता है:

रूपांतरित करें: इस छवि प्रारूप के लिए कोई डीकोड प्रतिनिधि `JP2 '@ त्रुटि / गठन / ReadImage / 501।

तो, मैं jp2 काम करने की जरूरत है। संबंधित पुस्तकालय है openjpeg-2, और ImageMagick के प्रतिनिधि पृष्ठ टारबॉल देता है openjpeg-2.0.0.tar.gz,।

ठीक है, इसलिए मैंने इसे डाउनलोड किया और इंस्टॉल फ़ाइल में दिए गए इंस्टॉलेशन के निर्देशों का पालन किया। सामान्य सामान: cmake ., sudo make install

लेकिन अब, मैं ImageMagick को कैसे कॉन्फ़िगर करूं ताकि यह 'पिक अप' हो open-jpeg-2.0.0? क्या मुझे ऐसा करने के लिए ImageMagick को स्रोत से पुनर्निर्माण करना होगा? या क्या कोई कमांड है जिसे मैं इनेबल करने के लिए ImageMagick प्राप्त कर सकता हूं? या एक फ़ाइल मुझे बदलनी चाहिए, आदि?

मैंने उम्र और उम्र इस पर गौर कर रहे हैं, बहुत से प्रश्नोत्तर ऑनलाइन पढ़े हैं, लेकिन मैंने अभी भी इसे क्रैक नहीं किया है। यह मेरे लिनक्स ज्ञान का एक मुद्दा है बजाय कुछ करने के लिए ImageMagick के साथ करना है , इसलिए मैं वास्तव में इसकी सराहना करूंगा यदि कोई मुझे यह पता लगाने में मदद कर सकता है कि लापता कदम क्या है। धन्यवाद।


मैंने इसके बजाय ग्राफिक्समैगिक का उपयोग करके इस समस्या को हल किया, जैसेgm convert in.jp2 out.jpg
सैम विल्सन

जवाबों:


3

स्थापित करें libopenjp2-toolsऔर opj_decompressjp2 को किसी और चीज़ में बदलने के लिए उपयोग करें :

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

यह पैकेज कमांड-लाइन टूल के साथ कई प्रारूपों के बीच रूपांतरण की अनुमति देता है और एन्कोडिंग और डिकोडिंग गति- jpeg2000 वीडियो प्रारूपों के लिए टूल भी प्रदान करता है:

  • opj_decompress: pgm, ppm, pnm, pgx, और bmp के लिए j2k, jp2 और jpt फाइल को डीकोड करता है।
  • opj_compress: j2k, और jp2 को pnm, pgm, pgx, bmp, और ppm फाइल को एनकोड करता है।
  • opj_dump: डंप जानकारी में j2k और jp2 शामिल हैं।
  • index_create: JP2 इंडेक्स फाइल के साथ j2k फाइल से jp2 बनाएं।
  • Frame_to_mj2: YUV वीडियो स्ट्रीम को mj2 फॉर्मेट में बदलें।
  • mj2_to_frames: mj2 वीडियो स्ट्रीम को YUV प्रारूप में बदलें।
  • wra_j2k_in_mj2: j2k कोडस्ट्रीम को mj2 प्रारूप में लपेटें।
  • extract-j2k-from_mj2: j2k कोडस्ट्रीम को mj2 प्रारूप से निकालें।

2

मैं Imagemagick में Openjp2 प्रतिनिधिमंडल को सक्षम करने की अपनी समस्या का समाधान करता हूं।

सुनिश्चित करें कि आपने स्थापित किया है:

अब जब आप लॉन्च ./configureकरेंगे तो आप Openjp2 प्रतिनिधिमंडल देख सकते हैं

DELEGATES = एमपीईजी जेबीजी जेपीजी जेपीसी एलसीएम ओपनजप 2 पीएनजी टिफ़ ज़्लीब


1

Ubuntu 16.04 रिपॉजिटरी से छवि Magick 6.8.9.9 की मेरी डिफ़ॉल्ट स्थापना से ऐसा प्रतीत होता है कि Jpeg200 ( .jp2) पूरी तरह से समर्थित है।

इसके साथ बातचीत की जा सकती है:

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

कमांड लाइन विकल्प जासूसी के लिए। एन्कोडिंग विकल्प या टाइल की गई छवियों को संभालने के संबंध में छवि मैजिक ऑनलाइन प्रलेखन देखें

हालांकि यह कहा जाना चाहिए कि jp2समर्थित स्वरूपों की सूची में सूचीबद्ध नहीं है:

identify -list format

फिर भी यह स्पष्ट रूप से अभी भी ठीक काम करता है।


1
धन्यवाद @ तक्कत, हालांकि मेरे लिए ऐसा नहीं है। जब मैं यह कोशिश करता हूं ( convert in.jp2 out.jpg), मुझे त्रुटि संदेश मिलता है कि मेरे पास jp2 प्रतिनिधि नहीं है: कन्वर्ट: इस छवि प्रारूप 'JP2' के लिए कोई डिकोड प्रतिनिधि @ त्रुटि / गठन / ReadImage / 501 नहीं है। मैं 6.8.9.9 पर हूं (से convert --version: संस्करण: ImageMagick 6.8.9-9 Q16 x86_64 2017-03-14 imagemagio.org )। वास्तव में अजीब है कि आपका संस्करण jp2 को एक प्रारूप के रूप में सूचीबद्ध नहीं करता है, लेकिन फिर भी काम करता है! क्या jpg आउटपुट फ़ाइलें मान्य हैं?
एरोकथ

@arokath: हाँ फाइलें मान्य हैं - मैंने और से रूपांतरण का परीक्षण किया है। ImageViewer या जिम्प के साथ JPG पढ़ना ठीक है, JP2 को जिम्प या डार्कटेबल के साथ पढ़ना ठीक था।
ताकत

यह बग प्रासंगिक भी है। मैं libopenjpeg2किसी अन्य एप्लिकेशन से स्थापित हो सकता हूं (बाद में आज तक इसका परीक्षण नहीं कर सकता)।
ताकत

1
हम्म, मैंने उस बग रिपोर्ट को देखा। स्थापना से libopenjp2-devऔर फिर स्रोत से पुनर्निर्माण के साथ , यह अभी भी काम नहीं कर रहा है। मैं 100% अभी भी दुर्भाग्य से फंस गया हूँ। यद्यपि आपके उत्तर के लिए धन्यवाद!
अरोक्थ

1
यह सवाल का जवाब नहीं है। आप बस कह रहे हैं कि यह आपके लिए काम करता है! और प्रलेखन के लिए एक लिंक देना एक जवाब नहीं है!
अज़ीम

1

@arokath आपकी तरह, मैं ImageMagick के संस्करण में jp2 समर्थन नहीं पा रहा था जिसे मैंने apt-get (Ubuntu 16.04.1 LTS) के माध्यम से स्थापित किया था।

स्रोत से निर्माण करने से पहले ( इमेजमैजिक डॉक्स के बाद ), मैंने पहले libopenjp2-toolsऔर फिर इंस्टॉल किया libopenjp2-7-dev

नोट : मुझे यकीन नहीं है कि किसी ने कौन सी चाल configureचली: सूचीबद्ध jp2 समर्थन के अंत में वर्णमाला सारांश OpenJP2, JP2जिसके बजाय मैंने तब तक नोटिस नहीं किया था जब तक मैंने स्थापित libopenjp2-7-devऔर पुनः कॉन्फ़िगर नहीं किया था; यह बहुत संभव है कि यह केवल पहले काम के साथ काम करे।

इसके अलावा ./configure, makeऔर make install, मैंने पाया कि मुझे (डायनेमिक लिंकर को कॉन्फ़िगर करने के लिए) डॉक्स में सुझाव दिया गया है: " sudo ldconfig /usr/local/lib

अब, /usr/local/bin/identify -list formatइसमें शामिल हैं:

  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
इसके लिए धन्यवाद। मुझे अभी भी समस्या हो रही है, दुर्भाग्य से! मैंने स्थापित किया libopenjp2-toolsऔर libopenjp2-7-devउपयोग किया apt-get, फिर स्रोत से बनाया गया, फिर भाग गया sudo ldconfig /usr/local/lib। (दूसरे शब्दों में, डॉक्स के बाद)। अभी तक कोई JP2 नहीं है। अरे! यह मेरे सिर में कर रहा है मैं इस मामले में फिर से प्रक्रिया के माध्यम से चलाऊंगा।
अरोकथ

फिर भी नसीब नहीं। मैंने देखा कि दौड़ते समय ./configure, यह JP2 के लिए जाँच करता है और इसे नहीं ढूँढता है : "LIBOPENJP2 के लिए जाँच ... नहीं" । एक बोनस के रूप में, अब यह जेपीईजी रूपांतरणों के लिए सामान्य रूप से काम नहीं कर रहा है। जब मैंने कोशिश की, तो convert in.png out.jpgयह एक फ़ाइल बनाता है, लेकिन यह अमान्य है - यह PNG फ़ाइल है बस jpg एक्सटेंशन के साथ। मुझे नहीं पता कि जब स्रोत से संकलित किया गया तो JPEG को अचानक क्यों तोड़ दिया जाना चाहिए!
अरोकथ

"Apt-get build-dep imagemagick" चलाने की कोशिश करें, ताकि यह इमेजमैगिक द्वारा आवश्यक लाइब्रेरी स्थापित करे (ये वही होंगे जो इसे रिलीज़ के साथ बनाया गया था, इसलिए आपको अभी भी Openjp2 की आवश्यकता होगी)
cbz
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.