ImageMagick 的安裝及使用


一、什么是Imagemagick?

ImageMagick是一款免費開源的圖片編輯軟件。既可以通過命令行使用,也可以通過C/C++、Perl、Java、PHP、Python或Ruby調用庫編程來完成。ImageMagic的主要精力集中在性能,減少bug以及提供穩定的API和ABI上。

二、下載和安裝

這里以Windows為例

 

 

 

 使用16-bit在處理圖片時比8-bit慢15%至50%,內存也為2倍。比如處理一張1024x768像素的圖片8-bit要使用3.6M內存,16-bit要使用7.2M內存。

這里我們選擇下載官方推薦的文件,也就是第一個:ImageMagick-7.0.8-12-Q16-x64-dll.exe

這個7.0版本和6點幾版本有些不同,系統環境變量都是自動配置好的。

使用 magick --version 查看是否安裝成功:

 

 三、使用

如果很多子命令不能直接使用,則可以把他們當做magick的子命令使用,如:

identify bbb.png
magick identify bbb.png

1、轉換格式

magick test.jpg test.png

表示把test.jpg這個圖片另存一份為test.png,同時修改了圖片名稱和格式

 (原來jpg比png小不少

2、合成gif

magick a.jpg b.jpg c.jpg test.gif
magick *.jpg images.gif

將指定的圖片合成一個gif(好像以第一張圖的大小為准)

3、調整圖片大小

按比例改變

magick b.png -resize 200%  b1.png
magick convert b.png -resize 200%  b1.png
magick convert -resize 200% b.png b1.png

圖片寬擴展為原來的2倍,高縮小為原來的一半

magick convert b.png -resize 200x50%  b7.png
magick convert b.png -resize 200%x50%  b8.png

 寬調整為100,高按原來圖片寬高比例跟着調整

convert -resize 100 b.png  b15.png

高調整為200,寬按原來圖片寬高比例跟着調整

convert -resize x200 b.png  b16.png

4、移除圖片內嵌的所有配置文件

magick convert -strip 1.jpg

5、裁剪圖片

crop參數可以把一副圖像分成若干塊大小一樣的圖片

magick img1.jpg -crop 500x500 dest.jpg

例如,原圖片尺寸為1920x1200,所以可以分割出12塊圖片,注意如果尺寸不是目標圖片的整數倍,那么右邊緣和下邊緣的一部分圖片就用實際尺寸

在原始圖像上裁剪一張指定尺寸的小圖

magick img1.jpg -crop 600x450+300+600 dest.jpg

600x450是寬乘高,+300+600是橫縱坐標

6、圖片取反

magick convert a.jpg -negate canny.jpg

7、壓縮圖片

將圖片質量降為原來的10%(即壓縮掉了90%),取值范圍1 ( 最低的圖像質量和最高壓縮率) 到100 ( 最高的圖像質量和最低壓縮率),默認值根據輸出格式有75、92、100,選項適用於JPEG / MIFF / PNG.

magick convert -quality 80 1.jpg 2.jpg

實例:生成縮略圖:

-resize,定義輸出的縮略圖尺寸;-quality 70,降低縮略圖的質量為70%;-strip:讓縮略圖移除圖片內嵌的所有配置文件,注釋等信息,以減小文件大小。

magick convert  -resize 100x200 -quality 70 -strip  1.jpg 2.jpg

8、給圖片加邊框

設置邊框顏色為藍色(也可以用rgb(0,0,255)或者rgb(0%,0%,100%)代替),寬的邊框和高的邊框分別為寬的5%、高的5%,也就是說,圖片的高和寬都增大了10%

 

magick 1.jpg -bordercolor blue -border 5% 2.jpg

9、濾鏡

magick convert monochrome .jpg -monochrome monochrome_example.jpg
magick convert charcoal .jpg -charcoal 1.2 charcoal _example.jpg

-monochrome沒有相關的配置選項;但是-charcoal需要設置一個相關因子,1左右能實現類似炭筆繪畫的效果。

magick convert a.jpg -edge 3 edge.jpg
magick convert a.jpg -colors 2 color.jpg 

減少為2種顏色,這些選項也可以一起使用。

10、邊緣檢測

magick convert a.jpg -canny 1 canny.jpg

使用canny算法,帶粗粒度參數。

圖像取反的話就很好看了:

magick convert a.jpg -canny 1 -negate canny.jpg

 

 

 

參考鏈接:

1. https://www.cnblogs.com/wbxk/p/9794094.html

2. https://blog.csdn.net/qq_24127015/article/details/86523738

3. https://blog.csdn.net/wangmeitingaa/article/details/88885711

4. https://www.imooc.com/article/46112?block_id=tuijian_wz


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM