[英]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.