站長資訊網
最全最豐富的資訊網站

ImageMagick的一些高級圖片查看技巧

 

ImageMagick的一些高級圖片查看技巧

用這些 ImageMagick 命令行圖像編輯應用的技巧更好的管理你的數碼照片集。

在我先前的ImageMagick 入門:使用命令行來編輯圖片 文章中,我展示了如何使用 ImageMagick 的菜單欄進行圖片的編輯和變換風格。在這篇續文里,我將向你展示使用這個開源的圖像編輯器來查看圖片的另外方法。

別樣的風格

在深入 ImageMagick 的高級圖片查看技巧之前,我想先分享另一個使用 convert 達到的有趣但簡單的效果,在上一篇文章中我已經詳細地介紹了 convert 命令,這個技巧涉及這個命令的 edgenegate 選項:

  1. convert DSC_0027.JPG -edge 3 -negate edge3+negate.jpg

ImageMagick的一些高級圖片查看技巧

使用edgenegate 選項前后的圖片對比

這些使我更喜愛編輯后的圖片:海的外觀,作為前景和背景的植被,特別是太陽及其在海上的反射,最后是天空。

使用 display 來查看一系列圖片

假如你跟我一樣是個命令行用戶,你就知道 shell 為復雜任務提供了更多的靈活性和快捷方法。下面我將展示一個例子來佐證這個觀點。ImageMagick 的 display 命令可以克服我在 GNOME 桌面上使用 Shotwell 圖像管理器導入圖片時遇到的問題。

Shotwell 會根據每張導入圖片的 Exif 數據,創建以圖片被生成或者拍攝時的日期為名稱的目錄結構。最終的效果是最上層的目錄以年命名,接著的子目錄是以月命名 (01、 02、 03 等等),然后是以每月的日期命名的子目錄。我喜歡這種結構,因為當我想根據圖片被創建或者拍攝時的日期來查找它們時將會非常方便。

但這種結構也并不是非常完美的,當我想查看最近幾個月或者最近一年的所有圖片時就會很麻煩。使用常規的圖片查看器,我將不停地在不同層級的目錄間跳轉,但 ImageMagick 的 display 命令可以使得查看更加簡單。例如,假如我想查看最近一年的圖片,我便可以在命令行中鍵入下面的 display 命令:

  1. display -resize 35% 2017/*/*/*.JPG

我可以一個月又一個月,一天又一天地遍歷這一年。

現在假如我想查看某張圖片,但我不確定我是在 2016 年的上半年還是在 2017 的上半年拍攝的,那么我便可以使用下面的命令來找到它:

  1. display -resize 35% 201[6-7]/0[1-6]/*/*.JPG

這限制查看的圖片拍攝于 2016 和 2017 年的一月到六月

使用 montage 來查看圖片的縮略圖

假如現在我要查找一張我想要編輯的圖片,使用 display 的一個問題是它只會顯示每張圖片的文件名,而不顯示其在目錄結構中的位置,所以想要找到那張圖片并不容易。另外,假如我很偶然地在從相機下載圖片的過程中將這些圖片從相機的內存里面清除了它們,結果使得下次拍攝照片的名稱又從 DSC_0001.jpg 開始命名,那么當使用 display 來展示一整年的圖片時,將會在這 12 個月的圖片中花費很長的時間來查找它們。

這時 montage 命令便可以派上用場了。它可以將一系列的圖片縮略圖放在一張圖片中,這樣就會非常有用。例如可以使用下面的命令來完成上面的任務:

  1. montage -label %d/%f -title 2017 -tile 5x -resize 10% -geometry +4+4 2017/0[1-4]/*/*.JPG 2017JanApr.jpg

從左到右,這個命令以標簽開頭,標簽的形式是包含文件名(%f)和以 / 分割的目錄(%d)結構,接著這個命令以目錄的名稱(2017)來作為標題,然后將圖片排成 5 列,每個圖片縮放為 10% (這個參數可以很好地匹配我的屏幕)。geometry 的設定將在每張圖片的四周留白,最后指定那些圖片要包括到這張合成圖片中,以及一個合適的文件名稱(2017JanApr.jpg)。現在圖片 2017JanApr.jpg 便可以成為一個索引,使得我可以不時地使用它來查看這個時期的所有圖片。

注意內存消耗

你可能會好奇為什么我在上面的合成圖中只特別指定了為期 4 個月(從一月到四月)的圖片。因為 montage 將會消耗大量內存,所以你需要多加注意。我的相機產生的圖片每張大約有 2.5MB,我發現我的系統可以很輕松地處理 60 張圖片。但一旦圖片增加到 80 張,如果此時還有另外的程序(例如 Firefox 、Thunderbird)在后臺工作,那么我的電腦將會死機,這似乎和內存使用相關,montage可能會占用可用 RAM 的 80% 乃至更多(你可以在此期間運行 top 命令來查看內存占用)。假如我關掉其他的程序,我便可以在我的系統死機前處理 80 張圖片。

下面的命令可以讓你知曉在你運行 montage 命令前你需要處理圖片張數:

  1. ls 2017/0[1-4/*/*.JPG > filelist; wc -l filelist

ls 命令生成我們搜索的文件的列表,然后通過重定向將這個列表保存在任意以名為 filelist 的文件中。接著帶有 -l 選項的 wc 命令輸出該列表文件共有多少行,換句話說,展示出了需要處理的文件個數。下面是我運行命令后的輸出:

  1. 163 filelist

啊呀!從一月到四月我居然有 163 張圖片,使用這些圖片來創建一張合成圖一定會使得我的系統死機的。我需要將這個列表減少點,可能只處理到 3 月份或者更早的圖片。但如果我在 4 月 20 號到 30 號期間拍攝了很多照片,我想這便是問題的所在。下面的命令便可以幫助指出這個問題:

  1. ls 2017/0[1-3]/*/*.JPG > filelist; ls 2017/04/0[1-9]/*.JPG >> filelist; ls 2017/04/1[0-9]/*.JPG >> filelist; wc -l filelist

上面一行中共有 4 個命令,它們以分號分隔。第一個命令特別指定從一月到三月期間拍攝的照片;第二個命令使用 >> 將拍攝于 4 月 1 日至 9 日的照片追加到這個列表文件中;第三個命令將拍攝于 4 月 10 日到 19 日的照片追加到列表中。最終它的顯示結果為:

  1. 81 filelist

我知道假如我關掉其他的程序,處理 81 張圖片是可行的。

使用 montage 來處理它們是很簡單的,因為我們只需要將上面所做的處理添加到 montage 命令的后面即可:

  1. montage -label %d/%f -title 2017 -tile 5x -resize 10% -geometry +4+4 2017/0[1-3]/*/*.JPG 2017/04/0[1-9]/*.JPG 2017/04/1[0-9]/*.JPG 2017Jan01Apr19.jpg

從左到右,montage 命令后面最后的那個文件名將會作為輸出,在它之前的都是輸入。這個命令將花費大約 3 分鐘來運行,并生成一張大小約為 2.5MB 的圖片,但我的系統只是有一點反應遲鈍而已。

展示合成圖片

當你第一次使用 display 查看一張巨大的合成圖片時,你將看到合成圖的寬度很合適,但圖片的高度被壓縮了,以便和屏幕相適應。不要慌,只需要左擊圖片,然后選擇 View > Original Size 便會顯示整個圖片。再次點擊圖片便可以使菜單欄隱藏。

我希望這篇文章可以在你使用新方法查看圖片時幫助你。在我的下一篇文章中,我將討論更加復雜的圖片操作技巧。

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
久久er这里只有精品| 国产精品一区二区三区免费| 伦精品一区二区三区视频| 熟妇无码乱子成人精品| 国产精品亚洲A∨天堂不卡| 国产精品igao视频| 日韩亚洲精品福利| 精品日韩亚洲AV无码 | 欧洲精品码一区二区三区| 国产精品一久久香蕉产线看| 老司机亚洲精品影院| 久久午夜无码鲁丝片直播午夜精品| 欧亚精品卡一卡二卡三 | 国产午夜无码精品免费看| 久久精品国产亚洲Aⅴ蜜臀色欲| 日韩a无吗一区二区三区| 麻豆国产96在线日韩麻豆| 日韩精品人成在线播放| 国产精品亚洲精品日韩动图| 热久久精品免费视频| 在线精品免费视频| 国产精品无码免费播放| 亚洲人成色777777精品| 国产综合色香蕉精品五月婷| 69久久夜色精品国产69| 国产精品三级在线| 日韩免费精品视频| 92国产精品午夜福利| 97精品人妻系列无码人妻 | 一本色道久久88综合日韩精品 | 亚洲av午夜成人片精品电影| 日韩电影免费在线| 日韩制服丝袜在线| 四虎精品成人免费视频| 亚洲AV永久无码精品一区二区国产 | 亚洲国产av无码精品| 一区二区日韩国产精品| 国产精品高清在线| 精品国产一区二区三区久久蜜臀| 国产三级精品三级| 国产麻豆9l精品三级站|