大尺寸 TIFF 檔案如何快速生成縮圖?
forsoulfree 發表于 娛樂2017-04-12
謝邀。
最優雅的解決方案就是把記憶體加到64G以上,cpu看情況升級,然後用現成的工具(比如Matlab什麼的)當小圖來處理,估計只要兩三行code。
要問為什麼,因為你說的圖片檔案大小和尺寸差了兩個量級啊!你算一下十萬x十萬x三的八位矩陣有多大!一般電腦感覺讀進記憶體都吃不消。我覺得你得自己用tifflib一行一行讀的方向是對的,但是還是要做好記憶體管理,設定好快取並且要及時釋放。可以先每個次元減少個五倍十倍取樣(直接跳過畫素)再均值濾波,可以進一步提高速度,理論上對縮圖影響不大。
在實際應用中,tiff縮圖都是可以事先存在同一個檔案的,當然這是源頭問題。你唯一可以做的就是生成完縮圖後再把它寫進原來的tiff檔案,為未來節省時間。
在 Ps 裡開啟 TIFF,截圖……
路過不請自來。不太專業部分請包涵。
只接觸過tif格式病理切片大圖,可試下用imagemagick試下按照比例縮小生成縮圖。需求不同,當時還用了openslide處理,於你未必有用,但可以試試。
就該這麼慢,不包括插值計算,你算算純搬運的時間就要多少。
唯一能減少時間的方式是想法減少搬運量,同時使用最近鄰插值來計算縮圖。
題主可以試試 ArcGIS的ArcPy,最近正好在研究,期待我的成果。