1 回答

TA貢獻1810條經(jīng)驗 獲得超4個贊
默認情況下,dzsave將平均每個 2x2 像素塊,相當于雙線性。
有時,例如對于像素值代表標簽而不是強度的圖像,您需要非插值縮小。對于這些情況,您可以使用region_shrink參數(shù)來選擇median或mode,這將保留標簽值。
我會使用:
image = pyvips.Image.new_from_file(sourceFile, access='sequential')
image.dzsave(destFile,
overlap=1,
tile_size=126,
region_shrink='mode',
suffix='.png')
不要忘記設置access提示。對于不支持隨機訪問的大圖像,它將為您提供速度和內(nèi)存行為的巨大改進。
PNG Q 數(shù)字設置輸出調(diào)色圖像時的量化質量。也許你的意思是compression?libvips 默認為 6,PNG 標準。
你確定要overlap=2嗎?deepzoom 標準是重疊 1。重疊 1 意味著每個圖塊的邊緣周圍有一個額外的像素,因此圖像中心的圖塊將與其鄰居共享每個邊緣上的兩個像素。設置overlap=2意味著您將有四個像素重疊,令人困惑。
同樣,tile_size=128意味著您的大部分圖塊將是 132x132 像素。對 PNG 沒關系,但 JPG 在軸上的倍數(shù)為 8 時效果最好。我會設置tile_size為(128 - 2 * 重疊),就像 deepzoom 默認設置的那樣。
git master libvips 添加max,min和nearest(總是選擇左上角的像素)。一個分支有l(wèi)anczos3,但由于各種原因它從未被合并。
添加回答
舉報