ImageMagick에서 JPEG2000 (jp2)을 활성화하는 방법은 무엇입니까?


13

ImageMagick을 사용하여 일부 파일을 jp2 (JPEG-2000)에서 jpg로 변환하고 싶습니다. 그렇게하는 명령은 훌륭하지만 ImageMagick에서 jp2 델리게이트를 활성화하는 방법을 모르겠습니다.

패키지 관리자를 통해 ImageMagick을 설치했습니다 sudo apt-get install ImageMagick.
ImageMagick 6.8.9-9를 사용하고 apt-get있습니다.이 버전은에서 제공되는 최신 버전의 ImageMagick입니다 .

현재 많은 주요 파일 형식이 자동으로 포함됩니다. 다음 라이브러리는 기본적으로 지원되며 대리자로 나열됩니다.

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

편집 : 언급 했어야합니다 openjpeg-2. 와 함께 시작하기 전에 파일 변환을 시도했습니다 . 다음과 같은 명령으로 convert input.jp2 output.jpg오류 메시지가 나타납니다.

변환 :이 이미지 형식`JP2 '@ error / constitute.c / ReadImage / 501에 대한 디코드 델리게이트가 없습니다.

그래서 jp2를 작동시켜야합니다. 관련 라이브러리는 openjpeg-2이며 ImageMagick의 델리게이트 페이지 는 tarball을 제공합니다 openjpeg-2.0.0.tar.gz.

좋아, 그래서 그것을 다운로드하고 설치 파일에 주어진 설치 지침을 따랐다. 정상적인 것 : cmake ., sudo make install.

그러나 이제는 ImageMagick이 '선택'되도록 구성하는 방법은 open-jpeg-2.0.0무엇입니까? 소스에서 ImageMagick을 다시 빌드해야합니까? 또는 ImageMagick이 사용하도록 설정하기 위해 입력 할 수있는 명령이 있습니까? 아니면 변경해야 할 파일 등입니까?

나는 이것을 몇 년 동안 보냈고 온라인으로 많은 Q & A를 읽었지만 여전히 그것을 깨뜨리지 않았습니다. 그것은 ImageMagick 자체 와 관련이있는 것이 아니라 내 Linux 지식의 문제 이므로 누락 된 단계가 무엇인지 알아낼 수 있다면 누군가가 정말로 감사하겠습니다. 감사합니다.


예를 들어 다음과 같이 graphicsmagick을 사용하여이 문제를 해결했습니다.gm convert in.jp2 out.jpg
Sam Wilson

답변:


3

jp2를 다른 것으로 변환 libopenjp2-tools하는 opj_decompress데 설치 하고 사용하십시오 .

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

이 패키지는 여러 형식간에 변환 할 수있는 명령 줄 도구를 제공하며 motion-jpeg2000 비디오 형식을 인코딩 및 디코딩하기위한 도구도 제공합니다.

  • opj_decompress : j2k, jp2 및 jpt 파일을 pgm, ppm, pnm, pgx 및 bmp로 디코딩합니다.
  • opj_compress : pnm, pgm, pgx, bmp 및 ppm 파일을 j2k 및 jp2로 인코딩합니다.
  • opj_dump : 덤프 정보는 j2k 및 jp2에 포함됩니다.
  • index_create : j2k 파일에서 JPIP 색인 파일로 jp2를 작성하십시오.
  • frames_to_mj2 : YUV 비디오 스트림을 mj2 형식으로 변환합니다.
  • mj2_to_frames : mj2 비디오 스트림을 YUV 형식으로 변환합니다.
  • wrap_j2k_in_mj2 : j2k 코드 스트림을 mj2 형식으로 랩핑합니다.
  • extract-j2k-from_mj2 : mj2 형식에서 j2k 코드 스트림을 추출합니다.

2

Imagemagick에서 openjp2 위임을 활성화하는 문제를 해결했습니다.

설치했는지 확인하십시오 :

이제 시작 ./configure하면 openjp2 위임을 볼 수 있습니다

델리 게티스 = mpeg jbig jng jpeg lcms lzma openjp2 png tiff zlib


1

Ubuntu 16.04 리포지토리에서 Image Magick 6.8.9.9를 기본 설치하면 Jpeg200 ( .jp2)이 완전히 지원되는 것으로 보입니다 .

다음을 사용하여 변환 할 수 있습니다.

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

명령 줄 옵션의 경우 esp. 인코딩 옵션 또는 타일 이미지 처리에 대해서는 Image Magick 온라인 설명서를 참조하십시오 .

그러나 jp2지원되는 형식 목록에 나열되어 있지 않다고 말해야합니다.

identify -list format

그럼에도 불구하고 여전히 여전히 잘 작동합니다.


1
고맙습니다 @Takkat, 그것은 사실이 아닙니다. 이 ( convert in.jp2 out.jpg)를 시도 하면 jp2 대리자가 없다는 오류 메시지가 나타납니다. convert :이 이미지 형식 'JP2'@ error / constitute.c / ReadImage / 501에 대한 디코드 대리자가 없습니다. 나는 (에서 6.8.9.9에있어 convert --version: 버전 : ImageMagick를 6.8.9-9 Q16 x86_64에 2017년 3월 14일 imagemagick.org ). 귀하의 버전이 jp2를 형식으로 나열하지 않지만 여전히 작동한다는 것은 정말 이상합니다! jpg 출력 파일이 유효합니까?
arokath

@arokath : 예 파일이 유효합니다-나는 변환을 테스트했습니다. ImageViewer 또는 Gimp로 JPG를 읽는 것이 좋습니다. Gimp 또는 Darktable로 JP2를 읽는 것이 좋습니다.
Takkat

이 버그 도 관련이 있습니다. libopenjpeg2다른 응용 프로그램에서 설치 했을 수도 있습니다 (오늘까지 테스트 할 수 없음).
Takkat April

1
흠, 나는 그 버그 보고서를 보았다. libopenjp2-dev소스 를 설치 한 다음 다시 빌드 하더라도 여전히 작동하지 않습니다. 불행히도 여전히 100 % 갇혀 있습니다. 답장을 보내 주셔서 감사합니다.
arokath

1
이것은 질문에 대한 답변이 아닙니다. 당신은 그것이 당신을 위해 작동한다고 말하고 있습니다! 그리고 설명서에 대한 링크를 제공하는 것은 답이 아닙니다!
Azim

1

@arokath 당신처럼, apt-get (Ubuntu 16.04.1 LTS)을 통해 설치 한 ImageMagick 버전에서 jp2 지원을 찾을 수 없었습니다.

소스에서 빌드하기 전에 ( ImageMagick 문서를 따라 ) 먼저 설치 libopenjp2-tools한 다음을 설치했습니다 libopenjp2-7-dev.

참고 : 나는 하나가 속임수를 썼는지 확실하지 않다 : 끝의 알파벳 요약 configure상장 JP2 지원 OpenJP2보다는, JP2내가 설치 한 때까지이 통보하지 않았다 libopenjp2-7-dev및 재 구성; 첫 번째 라이브러리에서만 작동했을 가능성이 큽니다.

게다가 ./configure, make그리고 make install, 나는 (워드 프로세서에서 제안) I가 "구성 동적 링커를"필요하다는 것을 발견했다 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가 없습니다. 아아! 머리를 숙이고 있습니다. 만약을 대비해서 과정을 다시 진행하겠습니다.
arokath

아직 운이 없다. 나는 실행할 때 ./configureJP2를 확인하고 그것을 찾지 못했습니다 : "LIBOPENJP2를 확인하는 중 ... 아니오" . 보너스로 이제는 일반적으로 JPEG 변환에서 작동하지 않습니다. 시도했을 때 convert in.png out.jpg파일을 만들지 만 유효하지 않습니다. 확장자가 jpg 인 PNG 파일입니다. 소스에서 컴파일 할 때 JPEG가 갑자기 깨지는 이유를 모르겠습니다!
arokath

"apt-get build-dep imagemagick"을 실행하여 imagemagick에 필요한 라이브러리를 설치하십시오 (이것은 릴리스에서 빌드 된 것이기 때문에 여전히 openjp2가 필요합니다)
cbz
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.