簡體   English   中英

使用Imagemagick壓縮非常高分辨率的圖像文件

[英]compress very large resolution image file using Imagemagick

我有一些分辨率為20400x28056的掃描圖像。 我希望使用imagemagick壓縮它們。 我嘗試convert ToBeCompressed.jpeg -quality 70 output.jpeg但是此命令使筆記本電腦崩潰了。 我認為它不能處理這么大的分辨率。 有任何建議請。

需要檢查的幾件事...您的圖像對應大約1.6GB的原始數據,因此您可能會發現需要運行64位環境而不是32位環境。 如果您使用的是Windows,則可能需要在NTFS文件系統而不是FAT上運行,因為FAT文件系統的最大大小為130GB,不能支持大於2GB的單個文件,如果幸運的話,可能支持4GB。

最后,您是否可以考慮調整圖像的大小而不是降低圖像的質量,如果閱讀過程中即時調整其大小,則可能會做得更好,因為它占用的資源較少。 因此,假設您決定接受兩邊長度一半的圖像(原始面積的1/4)

convert input.jpg[50%x50%] -quality 70 output.jpg

根據之后實際要處理的圖像,可以使用ImageMagick的stream實用程序將圖像拆分為多個塊。 它一次讀取圖像一次,因此僅占用很少的內存。 因此,要將圖像的兩半轉換成原始格式,您可以

stream  -extract 20400x14028+0+0     ToBeCompressed.jpg tophalf.rgb
stream  -extract 20400x14028+0+14028 ToBeCompressed.jpg bottomhalf.rgb

然后,如果要將這些原始RGB文件轉換為JPG,可以執行

convert -depth 8 -size 20400x14028 tophalf.rgb tophalf.jpg

你可以追求的另一種途徑可能是vips ,這是描述在這里

因此,如果您的圖片名為BigBoy.jpg ,則可以將其質量設置為60,例如:

vips jpegsave BigBoy.jpg BB60.jpg --Q=60

這導致我的系統上

ls -l Bi* BB60.jpg
-rw-r--r--  1 mark  staff  270283175 19 Mar 14:17 BB60.jpg
-rw-r--r--  1 mark  staff  997198223 19 Mar 14:07 BigBoy.jpg

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM