Je veux utiliser ImageMagick pour convertir certains fichiers de jp2 (JPEG-2000) en jpg. La commande pour le faire est très bien, mais je ne sais pas comment activer le délégué jp2 dans ImageMagick.
J'ai installé ImageMagick via le gestionnaire de paquets: sudo apt-get install ImageMagick
.
J'utilise ImageMagick 6.8.9-9, c'est la version la plus récente d'ImageMagick disponible sur apt-get
.
Actuellement, de nombreux types de fichiers principaux sont automatiquement inclus. Les bibliothèques suivantes ont un support intégré et sont répertoriées en tant que délégués:
bzlib cairo djvu fftw fontconfig freetype jbig jng jpeg lcms lqr ltdl lzma openexr pangocairo png rsvg tiff wmf x xml zlib
Edit : j'aurais dû le mentionner, j'ai essayé les conversions de fichiers avant de commencer à me disputer openjpeg-2
. Une commande comme convert input.jp2 output.jpg
me donne le message d'erreur:
convert: aucun délégué de décodage pour ce format d'image `JP2 '@ error / constituent.c / ReadImage / 501.
Donc, je dois faire fonctionner jp2. La bibliothèque est pertinente openjpeg-2
, et de ImageMagick la page délégués donne le tarball, openjpeg-2.0.0.tar.gz
.
D'accord, je l'ai donc téléchargé et j'ai suivi les instructions d'installation fournies dans le fichier d'installation. Truc normal: cmake .
, sudo make install
.
Mais maintenant, comment puis-je configurer ImageMagick pour qu'il "décroche" open-jpeg-2.0.0
? Dois-je reconstruire ImageMagick à partir de la source pour le faire? Ou existe-t-il une commande que je peux entrer pour que ImageMagick l’active? Ou un fichier que je devrais changer, etc.?
J'ai passé des heures et des siècles à étudier cela, à lire de nombreuses questions et réponses en ligne, mais je ne l'ai toujours pas fait. C'est un problème de ma connaissance de Linux plutôt que quelque chose à voir avec ImageMagick en soi , donc j'apprécierais vraiment si quelqu'un peut m'aider à comprendre quelle est l'étape manquante ici. Je vous remercie.
gm convert in.jp2 out.jpg
Réponses:
Installez
libopenjp2-tools
et utilisezopj_decompress
pour convertir jp2 en autre chose:Ce package fournit des outils de ligne de commande permettant des conversions entre plusieurs formats et fournit également des outils pour encoder et décoder les formats vidéo motion-jpeg2000:
la source
Je résous mon problème d'activation de la délégation openjp2 dans Imagemagick.
Assurez-vous d'avoir installé:
Maintenant, lorsque vous lancez,
./configure
vous pouvez voir la délégation openjp2la source
D'après mon installation par défaut d'Image Magick 6.8.9.9 à partir des référentiels Ubuntu 16.04, il apparaît que Jpeg200 (
.jp2
) est entièrement pris en charge.Les conversions peuvent être effectuées avec:
Pour les options de ligne de commande esp. concernant les options d'encodage ou la gestion des images en mosaïque, voir la documentation en ligne d'Image Magick .
Il faut dire cependant que ce
jp2
n'est pas répertorié dans la liste des formats supportés:Néanmoins, cela fonctionne toujours apparemment bien.
la source
convert in.jp2 out.jpg
), j'obtiens le message d'erreur que je n'ai pas le délégué jp2: convert: aucun délégué de décodage pour ce format d'image 'JP2' @ error / constituent.c / ReadImage / 501. Je suis au 6.8.9.9 (deconvert --version
: Version: ImageMagick 6.8.9-9 Q16 x86_64 2017-03-14 imagemagick.org ). Vraiment étrange que votre version ne liste pas jp2 comme format mais fonctionne toujours! Les fichiers de sortie jpg sont-ils valides?libopenjpeg2
installé à partir d'une autre application (je ne peux pas tester cela plus tard dans la journée).libopenjp2-dev
puis la reconstruction à partir de la source, cela ne fonctionne toujours pas. Je suis toujours bloqué à 100% malheureusement. Merci pour vos réponses!@arokath Comme vous, je n'ai pas pu trouver de support jp2 dans la version d'ImageMagick que j'ai installée via apt-get (Ubuntu 16.04.1 LTS).
Avant de construire à partir des sources (en suivant les documents ImageMagick ), j'ai installé d'abord
libopenjp2-tools
puislibopenjp2-7-dev
.Remarque : je ne sais pas lequel a fait l'affaire: le résumé alphabétique à la fin du
configure
support jp2 répertorié en tant queOpenJP2
, plutôt queJP2
ce que je n'ai pas remarqué avant d'avoir installélibopenjp2-7-dev
et reconfiguré; il est tout à fait possible que cela n'ait fonctionné qu'avec la première lib.Par ailleurs
./configure
,make
etmake install
, je trouve que je avais besoin (comme suggéré dans la documentation) pour « configurer l'éditeur de liens dynamique »:sudo ldconfig /usr/local/lib
.Maintenant, la sortie de
/usr/local/bin/identify -list format
contient:la source
libopenjp2-tools
etlibopenjp2-7-dev
utiliséapt-get
, puis construit à partir des sources, puis exécutésudo ldconfig /usr/local/lib
. (En d'autres termes, suivi les documents). TOUJOURS pas JP2. Argh! Il fait ma tête. Je vais recommencer le processus au cas où../configure
, il vérifie JP2 et ne le trouve pas: "vérification de LIBOPENJP2 ... non" . En prime, cela ne fonctionne plus pour les conversions JPEG en général. Lorsque j'ai essayé,convert in.png out.jpg
il crée un fichier, mais il n'est pas valide - c'est un fichier PNG avec l'extension jpg. Je ne sais pas pourquoi JPEG devrait soudainement être cassé quand j'ai compilé à partir de la source!