JPEG छवि प्रारूप के लिए समर्थन कैसे जोड़ें


12

Imagemagick को स्थापित करने के बाद, मैंने इसे jpg इमेज के साथ टेस्ट किया है, जैसे:

identify 1.jpg

लेकिन, मुझे यह परिणाम मिला:

identify: no decode delegate for this image format `1.jpg' @ error/constitute.c/ReadImage/550.

फिर, मैंने JPEG प्रारूप के लिए समर्थन जोड़ने की कोशिश की:

yum install libjpeg libjpeg-devel

लेकिन, मुझे मिल गया:

Setting up Install Process
No package libjpeg available.
No package libjpeg-devel available.
Nothing to do

मुझे लगा कि मुझे apt-get को अपडेट करना होगा, मैंने किया:

apt-get install libjpeg libjpeg-devel

लेकिन, मुझे मिल गया:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package libjpeg
E: Unable to locate package libjpeg-devel

क्या उन पुस्तकालयों को स्थापित करने का एक आसान तरीका है? मैं Ubuntu 12.04 का उपयोग कर रहा हूं।


2
क्यों इस्तेमाल कर रहे हो yum? यह एक अलग वितरण (Red Hat & Fedora) के लिए पैकेज मैनेजर है, और यदि आपने yumइमेजमैगिक स्थापित करने के लिए उपयोग किया है, तो मुझे बिल्कुल आश्चर्य नहीं है कि यह पुस्तकालयों को नहीं मिल सकता है! जब तक आप वास्तव में नहीं जानते कि आप क्या कर रहे हैं, आपको केवल apt-get के साथ सॉफ्टवेयर इंस्टॉल करना चाहिए ! इसके अलावा, "Ubuntu 12" पर्याप्त विशिष्ट नहीं है ... उबंटू के दो संस्करण हैं जो "12" से शुरू होते हैं: 12.04 और 12.10। उबंटू संस्करण रिलीज़ की तारीख पर आधारित हैं: 12.04 '12 का अप्रैल (महीने # 04) जारी किया गया था, और 12.10 अक्टूबर को '12 'जारी किया गया था। कृपया सुनिश्चित करें और निर्दिष्ट करें!
तीसवें प्रहर

मेरे पास उबंटू रिलीज़ 12.04 (सटीक) 32-बिट है, मैंने यम के साथ इमेजमैगिक स्थापित नहीं किया था, इसके बजाय मैं टार्व्वेज़ इमेजमैगिकट.गर्ज़, सीडी इमेजमैगिक-6.8.0, सीडी इमेजमैगिक-6.8.0-4 ,//configure को टारगेट करता हूं। , बनाओ, सुडोल बनाओ स्थापित करो, sudo ldconfig / usr / local / lib
समीर साबरी

apt-get install कामेच्छा- dev
शशांक सिंगला

यह वास्तव में बहुत अच्छा जवाब है। http://askubuntu.com/a/746195
L. पर्सी

दुनिया में कैसे कोई छवि पैकेज जेपीईजी prepackaged के लिए समर्थन के बिना किसी भी उपयोग का हो सकता है ?! यह बिना पनीर या ब्रेड या टमाटर सॉस के पिज्जा बेचने जैसा है।
श्रीधर सरनोबत

जवाबों:


11

मैं स्रोत से jpeg एन्कोडिंग पुस्तकालय http://www.ijg.org/files/jpegsrc.v8c.tar.gz पर उपलब्ध स्थापित करके समस्या को ठीक किया ।

cd /usr/local/src
tar xvfz jpeg-8c.tar.gz
cd jpeg-8c
./configure --enable-shared --prefix=$CONFIGURE_PREFIX
make
sudo make install

तब मैंने स्रोत से ImageMagick को फिर से स्थापित किया:

cd /usr/local/src
tar xvfz ImageMagick-6.6.9-5.tar.gz
cd ImageMagick-6.6.9-5
export CPPFLAGS=-I/usr/local/include
export LDFLAGS=-L/usr/local/lib
./configure --prefix=/usr/local --disable-static --with-modules --without-perl --without-magick-plus-plus --with-quantum-depth=8 --disable-openmp
make
sudo make install

अब इसका काम, मैंने इसे इस तरह से परखा है:

sam@ubuntu:~/RubymineProjects/project/tmp$ identify 1.jpg
1.jpg JPEG 128x106 128x106+0+0 8-bit sRGB 2.22KB 0.000u 0:00.000

इसने मेरे लिए काम किया। मुझे निर्यात LD_LIBRARY_PATH = $ LD_LIBRARY_PATH जोड़ना था: / usr / स्थानीय / lib / in .profile
mv288

मैंने केवल स्रोत से पहला jpegsrc इंस्टॉल apt-getकिया और ImageMagick को फिर से इंस्टॉल किया और यह काम भी किया।
किन्नर

6

यदि आप स्रोत से ImageMagick बनाने का निर्णय लेते हैं, तो आपको सभी निर्भरता को मैन्युअल रूप से हल करने के लिए तैयार रहने की आवश्यकता है। जब तक आपके पास एक दबाने की आवश्यकता नहीं होती है, आपको उबंटू के सभी सॉफ़्टवेयर को एक रिपॉजिटरी से इंस्टॉल करना चाहिए - या तो आधिकारिक रिपोज या पीपीए।

यदि आप एपीटी ( apt-get, सिनैप्टिक, सॉफ्टवेयर सेंटर, आदि) का उपयोग करके इमेजमैगिक स्थापित करते हैं , तो जेपीजी फाइलें ठीक काम करेंगी, जैसा कि मैंने अपनी मशीन पर पुष्टि की थी।

यदि आपके स्रोत से निर्माण का कारण अधिक हालिया संस्करण है, तो उस पीपीए का शिकार करें जो सबसे हालिया संस्करण को ट्रैक करता है। यदि आप विकास में मदद करने के लिए स्रोत से निर्माण कर रहे हैं, तो आपको इमेजमेगिक लोगों से पता लगाना चाहिए कि स्रोत से इसे सफलतापूर्वक बनाने के लिए क्या आवश्यक है। यह हो सकता है कि आपको ./configureचलने से पहले कुछ ध्वज निर्दिष्ट करने या कुछ विकास पुस्तकालय स्थापित करने की आवश्यकता हो ./configure

लेकिन आम तौर पर, स्रोत से निर्माण केवल अनावश्यक रूप से चीजों को जटिल करता है।

ओह, वैसे, Red Hat और Ubuntu संकुल के विभिन्न नामों का उपयोग करते हैं। इसलिए यदि yumकिसी लापता पैकेज के बारे में शिकायत की जाती है, तो आश्चर्य नहीं होना चाहिए अगर apt-getउस नाम से पैकेज नहीं मिल रहा है। जब तक आपके पास ऐसा करने के लिए एक बहुत अच्छा कारण नहीं है, तब तक आपको सिस्टम पर पैकेज मैनेजर को नहीं मिलाना चाहिए। फिर भी, पहले हर दूसरे विकल्प का प्रयास करें।


मेरे पास स्रोत से निर्माण करने का कोई विशेष कारण नहीं है, अगर एपीटी (एप्ट-गेट, सिनैप्टिक, सॉफ्टवेयर सेंटर, आदि) का उपयोग करके इमेजमैगिक स्थापित किया गया है, तो जेपीजी फाइलें समस्या को ठीक कर देगी, मैं इसके साथ जाऊंगा, क्या आप कृपया मुझे बता सकते हैं कि मैमागिक कैसे स्थापित करें APT का उपयोग कर जैसे आपने किया?
समीर साबरी

@SamirSabri: बस सॉफ्टवेयर सेंटर या Synaptic खोजें। या apt-getकमांड को खोजने के लिए टैब पूरा करने का उपयोग करें sudo apt-get install imagemagick:।
स्कॉट सेवेरेंस

वैसे, मैं दृढ़ता से सुझाव देता हूं कि आप मेरी विधि का उपयोग करके इंस्टॉल करने का प्रयास करने से पहले इमेजमैगिक को स्थापित करने के सभी पिछले प्रयासों को हटा दें। अन्यथा, आप संघर्षों के साथ समाप्त हो सकते हैं।
स्कॉट सेवेंस

हालाँकि मैंने पिछले प्रयासों को हटा दिया है, लेकिन मुझे jpg इमेज को पहचानते समय एक त्रुटि मिलती है, जैसे: sam @ ubuntu: ~ / RubymineProjects / project / tmp $ पहचान 1.jpg पहचान: इस छवि प्रारूप के लिए कोई डीकोड प्रतिनिधि `1.jpg @ त्रुटि / गठन। / ReadImage / 550।
समीर साबरी

3

ध्यान दें कि no decode delegateत्रुटि इमेजमाजिक (या इसका कुछ हिस्सा) फ़ाइल को नहीं ढूंढने के कारण (काफी उलझन में) हो सकती है। तो, ImageMagick को पुनर्स्थापित के साथ जांच करने के लिए चलाने से पहले identify -list formatऔर convert -list configureहै कि क्या JPEG प्रारूप का समर्थन किया है, और अगर यह होता है यह समस्या शायद कहीं और हो जाएगा।

उदाहरण के लिए, convert -resize 50% foo\ bar.jpgमुझे एक no decode delegate for this image formatएरोर दिया , लेकिन convert -resize 50% 'foo bar.jpg'पूरी तरह से काम किया।


1

यदि आपने अभी-अभी php5- इमेजिक स्थापित किया है, तो पूर्ण इमेजमागिक पैकेज को स्थापित करने का भी प्रयास करें। यह सभी आवश्यक पुस्तकालयों को स्थापित करेगा, जैसे कि jpeg एक।

sudo apt-get install imagemagick

फिर अपने वेबसर्वर को पुनः पुस्तकालयों में पुनः लोड करने के लिए पुनः आरंभ करें:

sudo service apache2 restart

JPEG डिकोडिंग को अब त्रुटि के बिना काम करना चाहिए।


0

आपने कोशिश की है :

sudo apt-get install libjpeg62

यदि उपरोक्त कमांड काम नहीं करता है, तो कृपया निम्नलिखित लिंक पर जाएं।

http://psx-scene.com/forums/f150/help-install-libjpeg-libpng-ubuntu-9-10-livecd-64122/

उन्हें बताएं, अगर यह मददगार था, तो सौभाग्य ... :)


मैंने आपके समाधान की कोशिश की, मुझे मिल गया: पठन पैकेज सूचियाँ ... पूर्ण निर्माण निर्भरता ट्री पठन राज्य की जानकारी ... Done libjpeg62 पहले से ही नवीनतम संस्करण है। 0 अपग्रेड किया गया, 0 नव स्थापित, 0 हटाने के लिए और 6 अपग्रेड नहीं किया गया। लेकिन, मुझे अभी भी एक त्रुटि मिलती है जब jpg चित्र को पहचानते हैं: sam @ ubuntu: ~ / RubymineProjects / project / tmp $ पहचान 1.jpg पहचान: इस छवि प्रारूप के लिए कोई डिकोड प्रतिनिधि नहीं `1.jpg '@ त्रुटि / गठन.c / ReadImage / 550।
समीर साबरी

ठीक है, मुझे यह मिल गया: blog.ericlamb.net/2008/11// कृपया, जांच करें और मुझे बताएं, आपके उत्तर के लिए धन्यवाद।
ऋषि कोवल्कर 3

मैंने आपकी अंतिम टिप्पणी पढ़ने से पहले इसे ठीक कर दिया है, धन्यवाद, मेरे पास इसका जवाब नीचे है
समीर साबरी

बहुत अच्छा लगता है !!! :)
ऋषि कोवस्कर

0

| सबसे आसान तरीका | सॉफ्टवेयर सेंटर से " सिनैप्टिक पैकेज मैनेजर " डाउनलोड करें । -> पुराने libjpeg पैकेज * को हटा दिया गया -> libjpeg8 और libjpeg-turbo8 & libjpeg-turbo8-dev को फिर से इंस्टॉल किया गया।

पुनश्च: मैं एक ही त्रुटि हो रही थी। मुझे हल करने में 2 दिन लगे। मेरी त्रुटि जब मैं jpg चित्र प्रदर्शित करने का प्रयास कर रहा था:

no decode delegate for this image format `jpeg' @ error/constitute.c/readimage/504

फिर, मैं सॉफ्टवेयर सेंटर से " सिनैप्टिक पैकेज मैनेजर " डाउनलोड करता हूं । -> पुराने libjpeg पैकेज * को हटा दिया गया -> libjpeg8 और libjpeg-turbo8 & libjpeg-turbo8-dev को फिर से इंस्टॉल किया गया।

(* सिनैप्टिक्स पैकेज मैनेजर अन्य पैकेज के साथ निर्भरता दिखाएगा, केवल पुराने स्वतंत्र लिबजैप पैकेजों को हटा देगा)

उसके बाद मैं त्रुटि के किसी भी डर के बिना JPEG चित्र खोलने में सक्षम हूं।

आशा करता हूँ की ये काम करेगा :)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.