Skip to content

Latest commit

 

History

History
125 lines (109 loc) · 7.71 KB

imagemagick7-install.md

File metadata and controls

125 lines (109 loc) · 7.71 KB

optimise-images.sh added new install option to source install ImageMagick 7.x with Quantum Depth of 8 instead of 16 for speed.

ImageMagick 7 enables high dynamic range imaging (HDRI) by default which requires more memory and results in slower processing times than ImagickMagick 6 (source). The optimise-images.sh script will disable HDRI by default to match ImageMagick 6 processing times and memory usage via option IMAGICK_SEVENHDRI='n'. You can enable HDRI via IMAGICK_SEVENHDRI='y' and IMAGICK_SEVEN='y' and then running optimise-images.sh install command to reinstall ImageMagick 7.

Usage options:

./optimise-images.sh
./optimise-images.sh {optimise} /PATH/TO/DIRECTORY/WITH/IMAGES
./optimise-images.sh {profile} /PATH/TO/DIRECTORY/WITH/IMAGES
./optimise-images.sh {testfiles} /PATH/TO/DIRECTORY/WITH/IMAGES
./optimise-images.sh {install}

To install ImageMagick 7 on CentOS

./optimise-images.sh install

End up with binaries are custom locations i.e.

/opt/imagemagick7/bin/identify
/opt/imagemagick7/bin/convert

Check version

/opt/imagemagick7/bin/identify --version
Version: ImageMagick 7.0.5-5 Q8 x86_64 2017-04-26 http://www.imagemagick.org
Copyright: © 1999-2017 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Features: Cipher DPC HDRI OpenMP 
Delegates (built-in): bzlib fontconfig freetype jbig jng jpeg lcms lzma openexr png tiff webp x xml zlib

Full binary listing

ls -lah /opt/imagemagick7/bin/
total 36K
drwxr-xr-x 2 root root 4.0K Apr 26 15:31 .
drwxr-xr-x 7 root root 4.0K Apr 26 15:19 ..
lrwxrwxrwx 1 root root    6 Apr 26 15:31 animate -> magick
lrwxrwxrwx 1 root root    6 Apr 26 15:31 compare -> magick
lrwxrwxrwx 1 root root    6 Apr 26 15:31 composite -> magick
lrwxrwxrwx 1 root root    6 Apr 26 15:31 conjure -> magick
lrwxrwxrwx 1 root root    6 Apr 26 15:31 convert -> magick
lrwxrwxrwx 1 root root    6 Apr 26 15:31 display -> magick
lrwxrwxrwx 1 root root    6 Apr 26 15:31 identify -> magick
lrwxrwxrwx 1 root root    6 Apr 26 15:31 import -> magick
-rwxr-xr-x 1 root root  14K Apr 26 15:31 magick
-rwxr-xr-x 1 root root 1.3K Apr 26 15:31 Magick++-config
-rwxr-xr-x 1 root root 1.5K Apr 26 15:31 MagickCore-config
lrwxrwxrwx 1 root root    6 Apr 26 15:31 magick-script -> magick
-rwxr-xr-x 1 root root 1.3K Apr 26 15:31 MagickWand-config
lrwxrwxrwx 1 root root    6 Apr 26 15:31 mogrify -> magick
lrwxrwxrwx 1 root root    6 Apr 26 15:31 montage -> magick
lrwxrwxrwx 1 root root    6 Apr 26 15:31 stream -> magick

Profile example after optimisation run when you set IMAGICK_SEVEN='y' to enable ImageMagick 7. If you set IMAGICK_SEVEN='n, you revert back to system installed ImageMagick version

/root/tools/optimise-images/optimise-images.sh profile /home/nginx/domains/domain.com/public/images

------------------------------------------------------------------------------
image profile
image name : width : height : quality : transparency : image depth (bits) : size : user: group
------------------------------------------------------------------------------
images in /home/nginx/domains/domain.com/public/images
------------------------------------------------------------------------------
image : dslr_canon_eos_77d_1.jpg : 2048 : 1365 : 82 : Undefined : 8 : 388237 : root : nginx
image : dslr_canon_eos_77d_2.jpg : 2048 : 1365 : 82 : Undefined : 8 : 398208 : root : nginx
image : dslr_canon_eos_m6_1.jpg : 1200 : 800 : 82 : Undefined : 8 : 161086 : root : nginx
image : dslr_canon_eos_m6_large1.jpg : 2048 : 1365 : 82 : Undefined : 8 : 304069 : root : nginx
image : dslr_canon_eos_m6_large2.jpg : 2048 : 1365 : 82 : Undefined : 8 : 402584 : root : nginx
image : dslr_hasselblad_x1d_1.jpg : 2048 : 1535 : 82 : Undefined : 8 : 441979 : root : nginx
image : dslr_hasselblad_x1d_2.jpg : 2048 : 1535 : 82 : Undefined : 8 : 369580 : root : nginx
image : dslr_leica_m10_1.jpg : 2048 : 1365 : 82 : Undefined : 8 : 438656 : root : nginx
image : dslr_leica_m10_2.jpg : 2048 : 1365 : 82 : Undefined : 8 : 438587 : root : nginx
image : dslr_nikon_d5_1.jpg : 2048 : 1365 : 82 : Undefined : 8 : 287421 : root : nginx
image : dslr_nikon_d5_2.jpg : 2048 : 1365 : 82 : Undefined : 8 : 310150 : root : nginx
image : dslr_nikon_d7200_1.jpg : 2048 : 1365 : 82 : Undefined : 8 : 374954 : root : nginx
image : dslr_nikon_d7200_2.jpg : 1365 : 2048 : 82 : Undefined : 8 : 516224 : root : nginx
image : dslr_sony_alpha_a99_ii_1.jpg : 2048 : 1366 : 82 : Undefined : 8 : 349140 : root : nginx
image : dslr_sony_alpha_a99_ii_2.jpg : 2048 : 1366 : 82 : Undefined : 8 : 431558 : root : nginx
image : image1.jpg : 2048 : 1290 : 82 : Undefined : 8 : 418884 : root : nginx
image : image2.jpg : 2048 : 1248 : 82 : Undefined : 8 : 282808 : root : nginx
image : image3.jpg : 1600 : 1048 : 82 : Undefined : 8 : 271018 : root : nginx
image : image4.jpg : 2048 : 1269 : 82 : Undefined : 8 : 269134 : root : nginx
image : im age5.jpg : 2048 : 1269 : 82 : Undefined : 8 : 269134 : root : nginx
image : image6.jpg : 640 : 427 : 82 : Undefined : 8 : 71496 : root : nginx
image : image7.jpg : 600 : 400 : 82 : Undefined : 8 : 48906 : root : nginx
image : lenna.png : 512 : 512 : 92 : Undefined : 8 : 474955 : root : nginx
image : mobile1.jpg : 1200 : 900 : 82 : Undefined : 8 : 280918 : root : nginx
image : mobile2.jpg : 1200 : 900 : 82 : Undefined : 8 : 177339 : root : nginx
image : mobile3.jpg : 1200 : 900 : 82 : Undefined : 8 : 217147 : root : nginx
image : png24-image1.png : 600 : 400 : 92 : Undefined : 8 : 386063 : root : nginx
image : png24-interlaced-image1.png : 600 : 400 : 92 : Undefined : 8 : 386063 : root : nginx
image : pngimage1.png : 1623 : 2048 : 92 : Blend : 8 : 246604 : root : nginx
image : pngimage2.png : 1700 : 1374 : 92 : Blend : 8 : 19228 : root : nginx
image : pngimage3.png : 2000 : 1370 : 92 : Blend : 8 : 284292 : root : nginx
image : pngimage4.png : 558 : 465 : 92 : Blend : 8 : 454890 : root : nginx
image : samsung_s7_mobile_1.jpg : 2048 : 1536 : 82 : Undefined : 8 : 256253 : root : nginx
image : screenshot1.png : 1484 : 1095 : 92 : Undefined : 8 : 104676 : root : nginx
image : webp-study-source-firebreathing.png : 1024 : 752 : 92 : Undefined : 8 : 1194091 : root : nginx
image : webp-study-source-google-chart-tools.png : 1024 : 752 : 92 : Blend : 8 : 107292 : root : nginx

------------------------------------------------------------------------------
Original Images:
------------------------------------------------------------------------------
| Avg width | Avg height | Avg quality | Avg size   | Total size (Bytes) | Total size (KB) |
| --------- | ---------- | ----------- | --------   | ------------------ | --------------- |
| 1583      | 1147       | 85          | 328712     | 11833624           | 11556           |

------------------------------------------------------------------------------
ImageMagick Resource Limits
------------------------------------------------------------------------------
Version: ImageMagick 7.0.5-5 Q8 x86_64 2017-04-26
Resource limits:
Width: 107.374MP
Height: 107.374MP
Area: 67.0574GP
Memory: 31.226GiB
Map: 62.4521GiB
Disk: unlimited
File: 196608
Thread: 4
Throttle: 0
Time: unlimited
------------------------------------------------------------------------------
Completion Time: 1.50 seconds
------------------------------------------------------------------------------