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

해당 라이브러리를 설치하는 쉬운 방법이 있습니까? 우분투 12.04를 사용하고 있습니다.


2
왜 사용하고 yum있습니까? 그것은 다른 배포판 (Red Hat & Fedora)의 패키지 관리자이며 yumimagemagick을 설치 하는 데 사용했다면 라이브러리를 찾을 수 없다는 사실에 전혀 놀라지 않습니다! 당신 이하고있는 일 을 정말로 알지 못한다면 apt-get으로 소프트웨어를 설치해야합니다 ! 또한 "우분투 12"는 충분히 구체적이지 않습니다. "12"로 시작하는 두 가지 버전의 우분투가 있습니다 : 12.04와 12.10. Ubuntu 버전은 릴리스 날짜를 기준으로합니다. 12.04는 '12 년 4 월 (개월 # 04)에 릴리스되었고 12.10은 '12 년 10 월에 릴리스되었습니다. 반드시 명기하십시오!
thirtythreeforty

Ubuntu Release 12.04 (precise) 32 비트가 있으며 yum으로 imagemagick을 설치하지 않고 대신 tar xvfz ImageMagick.tar.gz, cd ImageMagick-6.8.0, cd ImageMagick-6.8.0-4, ./configure , make, sudo make install, sudo ldconfig / usr / local / lib
Samir Sabri

apt-get install libjpeg-dev
Shashank Singla 2016 년

그것은 정말 좋은 대답이 http://askubuntu.com/a/746195
L. 퍼시

JPEG 프리 패키지에 대한 지원없이 어떤 imagemagick 패키지를 사용 하는가? 치즈 나 빵이나 토마토 소스없이 피자를 파는 것과 같습니다.
Sridhar Sarnobat

답변:


11

http://www.ijg.org/files/jpegsrc.v8c.tar.gz 에서 사용 가능한 jpeg 인코딩 라이브러리를 소스에서 설치하여 문제를 해결했습니다 .

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

이것은 나를 위해 일했습니다. .profile에 내보내기 LD_LIBRARY_PATH = $ LD_LIBRARY_PATH : / usr / local / lib /를 추가해야했습니다
mv288

소스에서 첫 번째 jpegsrc 만 설치하고 ImageMagick을 통해 다시 설치 apt-get했으며 작동했습니다.
kyng June

6

소스에서 ImageMagick을 빌드하기로 결정한 경우 모든 종속성을 수동으로 해결할 준비가되어 있어야합니다. 긴급한 요구가 없다면, 공식 저장소 또는 PPA와 같은 저장소에서 우분투에 모든 소프트웨어를 설치해야합니다.

APT ( apt-get, Synaptic, Software Center 등)를 사용하여 Imagemagick을 설치하면 내 컴퓨터에서 확인한 것처럼 JPG 파일이 제대로 작동합니다.

소스에서 빌드해야하는 이유가 최신 버전을 얻으려면 최신 버전을 추적하는 PPA를 찾으십시오. 개발을 돕기 위해 소스에서 빌드하는 경우 Imagemagick 사람들로부터 소스에서 성공적으로 빌드하는 데 필요한 것을 찾아야합니다. ./configure실행하기 전에 일부 플래그를 지정 하거나 일부 개발 라이브러리를 설치 해야 할 수도 있습니다 ./configure.

그러나 일반적으로 소스에서 빌드하는 것은 불필요하게 복잡합니다.

그런데 Red Hat과 Ubuntu는 다른 이름의 패키지를 사용합니다. 따라서 yum누락 된 패키지에 대해 불평하는 경우 apt-get해당 이름으로 패키지를 찾을 수없는 경우 놀라운 일 이 아닙니다. 특별한 이유가없는 한 시스템에서 패키지 관리자를 혼합해서는 안됩니다. 그럼에도 불구하고 다른 모든 옵션을 먼저 시도하십시오.


APT (apt-get, Synaptic, Software Center 등)를 사용하여 Imagemagick을 설치하면 JPG 파일 문제를 해결할 수 있다면 소스에서 빌드 할 특별한 이유가 없습니다. 당신이 한 것처럼 APT를 사용?
Samir Sabri

@SamirSabri : 소프트웨어 센터 또는 시냅틱을 검색하십시오. 또는 탭 완성 기능을 사용 apt-get하여 다음 명령을 찾으십시오 sudo apt-get install imagemagick..
스콧 세브란스

그건 그렇고, 내 방법을 사용하여 설치하기 전에 imagemagick을 설치하려는 모든 이전 시도를 제거하는 것이 좋습니다. 그렇지 않으면 충돌이 발생할 수 있습니다.
Scott Severance

이전 시도를 제거했지만 jpg 이미지를 식별 할 때 다음과 같은 오류가 발생합니다. sam @ ubuntu : ~ / RubymineProjects / project / tmp $ 식별 1.jpg 식별 :이 이미지 형식`1.jpg '에 대한 디코드 델리게이트가 없습니다. @ error / constitute.c / ReadImage / 550.
사미르 사 브리

3

no decode delegate오류는 imagemagick (또는 그 일부)이 파일을 찾지 못해 (혼란스럽게) 발생할 수 있습니다. 그래서, ImageMagick를 다시 설치 확인을 실행하기 전에 identify -list formatconvert -list configureJPEG 포맷 지원 여부,하고 있는지, 문제가 아마 다른 곳이 될 것입니다.

예를 들어, convert -resize 50% foo\ bar.jpg나에게 no decode delegate for this image format잘못을 주었지만 convert -resize 50% 'foo bar.jpg'완벽하게 일했습니다.


1

php5-imagick을 방금 설치 한 경우 전체 imagemagick 패키지도 설치하십시오. 이것은 jpeg와 같은 모든 필수 라이브러리를 설치합니다.

sudo apt-get install imagemagick

그런 다음 웹 서버를 다시 시작하여 al 라이브러리를 다시로드하십시오.

sudo service apache2 restart

JPEG 디코딩이 이제 오류없이 작동합니다.


0

당신이 시도 했습니까 :

sudo apt-get 설치 libjpeg62

위의 명령이 작동하지 않으면 다음 링크를 통해 이동하십시오.

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

도움이된다면, 행운을 빌어주세요 ... :)


나는 당신의 해결책을 시도했다. 패키지 목록 읽기 ... 완료 건물 종속성 트리 상태 정보 읽기 ... 완료 libjpeg62는 이미 최신 버전입니다. 0 업그레이드, 0 새로 설치, 0 제거 및 6 업그레이드되지 않음. 그러나 jpg 이미지를 식별 할 때 여전히 오류가 발생합니다 : sam @ ubuntu : ~ / RubymineProjects / project / tmp $ 식별 1.jpg 식별 :이 이미지 형식`1.jpg '@ error / constitute.c / ReadImage에 대한 디코딩 대리자가 없습니다. / 550.
사미르 사 브리

알았어, 나는 이것을 발견했다 : blog.ericlamb.net/2008/11/… 제발, 확인하고 알려주십시오. 답장을 보내 주셔서 감사합니다.
Rishi Kolvekar

마지막 코멘트를 읽기 전에 방금 고쳤습니다. 감사합니다. 아래 답변에 있습니다.
Samir Sabri

좋은 소리! :)
Rishi Kolvekar

0

| 가장 쉬운 방법 | 소프트웨어 센터에서 " Synaptic Package Manager "를 다운로드하십시오 . -> 이전 libjpeg 패키지 제거 *-> libjpeg8 & libjpeg-turbo8 & libjpeg-turbo8-dev를 다시 설치했습니다.

추신 : 나는 같은 오류가 발생했습니다. 해결하는 데 2 ​​일이 걸렸습니다. jpg 이미지를 표시하려고 할 때 오류가 발생했습니다.

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

그런 다음 소프트웨어 센터에서 " Synaptic Package Manager "를 다운로드 합니다. -> 이전 libjpeg 패키지 제거 *-> libjpeg8 & libjpeg-turbo8 & libjpeg-turbo8-dev를 다시 설치했습니다.

(* synaptics 패키지 관리자는 다른 패키지와의 종속성을 표시하고 이전의 독립 libjpeg 패키지 만 제거합니다)

그 후 오류가 없어도 JPEG 이미지를 열 수 있습니다.

그것이 도움이되기를 바랍니다 :)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.