convert: Wrong JPEG library version: library is 80, caller expects 90 `image.jpg' - ruby-on-rails

I am using Ubuntu 13.04.
I am installing imagemagick. and It is installed properly via source.I find all required delegates.
convert -list configure | grep DELEGATES
I get :
DELEGATES bzlib djvu fontconfig freetype jbig jng jp2 jpeg lcms lqr lzma openexr png ps tiff x xml zlib
Now, Same code was working in OS Ubuntu 12.10 before.
Please guide how to solve issue
convert: Wrong JPEG library version: library is 80, caller expects 90image.jpg' `

Related

Why did ImageMagick reduce my JPG quality severely when increasing saturation?

My command was convert imagename.jpeg -quality 100 -modulate 100,200 imagename-ImageMagick.jpeg and if you look at the Imgur gallery here:
https://imgur.com/a/V8zr4Lu
you can see that it has tons of JPG artefacts, to the point where the text is almost illegible. All I wanted to do was increase colour saturation.
Version info:
Version: ImageMagick 6.9.11-21 Q16 x86_64 2020-07-25 https://imagemagick.org Copyright: © 1999-2020 ImageMagick Studio LLC License: https://imagemagick.org/script/license.php Features: Cipher DPC Modules Delegates (built-in): bzlib djvu fftw fontconfig freetype gslib heic jbig jng jp2 jpeg lcms ltdl lzma openexr png ps raw tiff webp x xml zlib
Because when you increase saturation that much you make the existing JPEG artifacts more visible (in fact you make all the image problems more visible...). Adding saturation is increasing the tone differences, while the JPEG compression is based on the idea that the tone differences it creates are still below your perception, so increased saturation makes the existing and barely noticeable artifacts suddenly very visible.
-modulate 100,200 is a very aggressive setting, try something lighter
-quality 100 is pointless, you are just saving existing artifacts with a high accuracy.
maybe try a very light blur before increasing saturation.
Using Imagemagick 6.9.12.77, it looks fine to me
convert galaxy.jpg -modulate 100,200,100 -quality 100 x.jpg
Perhaps you need to upgrade either or both Imagemagick or libjpg
convert -version
Version: ImageMagick 6.9.12-77 Q16 aarch64 17704 https://legacy.imagemagick.org
Copyright: (C) 1999 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC Modules
Delegates (built-in): bzlib cairo djvu fftw fontconfig freetype gslib gvc heic jbig jng jp2 jpeg lcms lqr ltdl lzma openexr png ps raw rsvg tiff webp x xml zlib

Why does ImageMagick fail with "no decode delegate for this image format `PNG'" even when the png delegate is installed?

I'm working on openSUSE Tumbleweed.
I have ImageMagick installed.
$ convert --version
Version: ImageMagick 7.1.0-52 Q16-HDRI x86_64 20549 https://imagemagick.org
Copyright: (C) 1999 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI Modules OpenMP(4.5)
Delegates (built-in): bzlib djvu fontconfig freetype gslib jng jpeg lcms ltdl lzma png ps raw tiff x xml zlib
Compiler: gcc (12.2)
Notice that the PNG delegate is installed, at least according to --version.
Despite this, converting fails.
$ convert covalent_platform.svg covalent_platform.png
convert: no decode delegate for this image format `PNG' # error/constitute.c/ReadImage/776.
convert: no images defined `covalent_platform.png' # error/convert.c/ConvertImageCommand/3342.
Even identifying a non-PNG file fails, with the same PNG delegate problem.
$ identify covalent_platform.svg
identify: no decode delegate for this image format `PNG' # error/constitute.c/ReadImage/776.
Any ideas for what might be wrong here?
I reinstalled libpng-devel and reinstalled IM, but the problem remains.
I figured out the problem, thanks to #fmw42 pointing out that if magick -list format has no output then the installation is bad.
I had installed IM from https://imagemagick.org/script/download.php
These downloads are not compatible with openSUSE.
After uninstalling and reinstalling IM from https://software.opensuse.org/package/ImageMagick, everything works as expected.

How to configure imagick to work with gpu support?

Im usinf the following configuration on amazon AWS p3.2xlarge with 3D controller: NVIDIA Corporation GV100GL [Tesla V100 SXM2] (rev a1)
Centos 7
PHP7.2
Im trying to force Imagick to work with gpu memory instead of CPU
I have found the following article but im not sure how to implement it
https://www.imagemagick.org/script/opencl.php
can anyone assist ?
convert -version output
Version: ImageMagick 7.0.8-14 Q16 x86_64 2018-10-25 https://imagemagick.org
Copyright: © 1999-2018 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI Modules OpenMP
Delegates (built-in): bzlib cairo djvu fftw fontconfig freetype gslib gvc jbig jng jp2 jpeg lcms ltdl lzma openexr pangocairo png ps raw rsvg tiff webp wmf x xml zlib

imagemagick and jp2 problems

I compiled and created and rpm for the latest ImageMagick with jp2 support
convert --version
Version: ImageMagick 6.9.1-10 Q16 x86_64 2015-07-30 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2015 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Features: Cipher DPC HDRI Modules OpenMP
Delegates (built-in): bzlib fftw fontconfig freetype jng jp2 jpeg ltdl lzma pangocairo png tiff wmf x xml zlib
So as you can see jp2 is in the delegates.
yet we keep getting this error :
convert: unable to load module `/usr/lib/ImageMagick-6.9.1//modules-Q16HDRI/coders/jp2.la': file not found # error/module.c/OpenModule/1282.
convert: no decode delegate for this image format `JP2' # error/constitute.c/ReadImage/501.
convert: no images defined `/tmp/131C6D7C-165E-11E4-A6EB-3950957D6753.jpg' # error/convert.c/ConvertImageCommand/3230.
the file is where it should be.
PS: this is on RHEL7

imagemagick -- convert: no decode delegate for this image format `TIFF'

I'm trying to convert an image "img.tif" to "img.jpg" with the following command:
convert img.tif img.jpg
And this error arises:
convert: no decode delegate for this image format `TIFF' # error/constitute.c/ReadImage/501.
I've trawled the web for answers, but nothing is working.
The suggestions from previous people with this problem have been:
brew reinstall imagemagick --with-libtiff
, which I have done, to no avail. The call:
convert -list configure
still gives the following for DELEGATES:
DELEGATES bzlib mpeg png x xml zlib
ANY other suggestions would be appreciated.
Even another way to convert from .tif to .jpg from the command line.
I know it's not exactely the right solution of your problem but it can "do the job".
You could convert from tif to jpg by adding a PNG (which is lossless) converting step:
tif→PNG→jpg
inkscape --export-png=img.png img.tif
then
convert img.png img.jpg
For me, the command
convert -list configure | grep DELEGATES
returns:
DELEGATES bzlib djvu fftw fontconfig freetype jbig jpeg jng jp2 lcms2 lqr lzma openexr pango png rsvg tiff x11 xml wmf zlib
And I didn't do something special during install so I don't understand why you don't have the "tif" nor the "jpeg" part…
Maybe you can try to install "libtiff-tools" "libjpeg" and "libjpeg-turbo".
The delegates could be found here:
Imagemagic Delegates

Resources