Linux命令行處理圖片方式(圖片格式轉(zhuǎn)換、縮放、旋轉(zhuǎn)等)
Centos OS 中默認(rèn)安裝了 ImageMagick,ImageMagick 是一系列的用于修改、加工圖像的命令行工具。
ImageMagick 功能十分強(qiáng)大,本博文主要介紹自己在做實(shí)驗(yàn)過程中用得比較多的幾個(gè)操作,更多更豐富的功能,讀者可自行參考 ImageMagick 文檔。
1. 轉(zhuǎn)換圖像格式如下實(shí)例,將一個(gè) JPG 格式的圖片轉(zhuǎn)換為 PNG 格式的圖片:
convert imgyd064_R1_9_t_1.jpg imgyd064_R1_9_t_1.png圖片原名為 imgyd064_R1_9_t_1.jpg,是一張植物葉片的圖像,經(jīng)過轉(zhuǎn)換后變?yōu)?png 格式文件,轉(zhuǎn)化之后雖然表面看不出大的變化,但是圖片大小明顯增大 了(1.6M增至6.6M),這說明格式發(fā)生了根本性的轉(zhuǎn)換,如下所示:
2. 縮放圖像下面的命令將一幅 2914x2914 的圖像縮小為 100x100 的圖像:
convert imgyd064_R1_9_t_1.jpg -resize 200x100 imgyd064_R1_9_t_1_resize.jpg也許此時(shí)你會有疑問,為什么指定的是200x100,圖像卻變成了100x100,在使用這個(gè)命令的時(shí)候,ImageMagick 會盡量保持圖像的縱橫比。
它將會調(diào)整圖像以適應(yīng)200×100的區(qū)域,這樣圖像就不是恰好200×100了。
如果你想要強(qiáng)制把圖像設(shè)置為指定的大小,即使這樣做會改變圖像的縱橫比的話,那么在尺寸參數(shù)后面加一個(gè)嘆號就可以了。
convert imgyd064_R1_9_t_1.jpg -resize 200x100! imgyd064_R1_9_t_1_resize.jpg注:命令行中的200x100中的“x”為字母 x
3. 旋轉(zhuǎn)圖像下面的命令將圖像順時(shí)針旋轉(zhuǎn)90度:
convert imgyd064_R1_9_t_1.jpg -rotate 90 imgyd064_R1_9_t_1_rotate.jpg以上只是冰山一角,ImageMagick 還有很多其他用法,非常強(qiáng)大,如果讀者對 ImageMagick 的其他功能感興趣,可以自行查閱其官方文檔。
Linux命令行批處理圖片,批量去除截圖的無用部分我希望產(chǎn)生一批相同區(qū)域但不同內(nèi)容的截圖,如果用截圖工具截取矩形區(qū)域,那么每次截取的位置和大小都沒法控制,不能做到區(qū)域一樣。如果希望每次的截圖都一樣,那么就只能是保持窗口大小不變?nèi)缓蠼厝≌麄€(gè)窗口,但是又希望能夠去掉窗口的標(biāo)題欄、工具欄等,去掉這些東西之后的截圖還應(yīng)該保持一樣的區(qū)域。就需要有一個(gè)工具可以自動編輯圖片,對所有截圖執(zhí)行相同的編輯,這樣就能得到我想要的結(jié)果了。
幸運(yùn)的是,Linux 有這樣的工具,就是 mogrify,Ubuntu 18 已經(jīng)預(yù)裝了該工具,直接使用就可以了,比如要實(shí)現(xiàn)我上面的要求,只需要輸入:
mogrify -crop 860x800+80+100 *.png除了可以批量編輯大小外,還可以轉(zhuǎn)換格式等,功能貌似很強(qiáng)大,網(wǎng)址:http://www.imagemagick.org/script/mogrify.php。
比如執(zhí)行上述命令后可以把截圖:
截取其中的有效部分:
我有十幾張這樣的截圖,一條命令行全部處理完成,截取的區(qū)域一模一樣,可以把這十幾張截圖做成視頻來播放,就變成動態(tài)的波形了。
總結(jié)以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。