有10亿张10241024的png图片,现在需要生成它们整体的一张10241024的缩略图,也就是说,需要在逻辑上将它们拼接起来再生成一张缩略图,有什么高效的好方法吗?尝试了一下ImageMagick,100张图片就耗时很久,有没有什么快速的好方法?谢谢!
闭关修行中......
1024*1024 = 1,048,57610億張圖片也就是1000,000,000每個像素約對應1000張圖片,可以採用採樣的方法,每個像素隨機在1000張圖片中選擇N張,然後在每張圖片中隨機選取M個像素,求平均值為縮圖的一個像素,依序求得縮圖的1024*1024個像素。 可以採用opencv實作。 但是,如果這10億張圖片是隨機的,結果是會接近一張灰度為0.5的圖片的。因為根據中心極限定理,縮圖的每個像素變異數是趨向於0的。你得保證10億張像素組合起來有結構特徵才行。
打開PS直接畫一張 效率max
又拍雲,阿里雲OSS都帶圖片處理功能。可以看下API 。
資料壓縮,將計算每張圖片在最終圖片上所展像素大小,然後將10億張圖片壓縮為對應大小,最終調用ImageMagick拼接
不太清楚縮圖的生成演算法原理,或是你可以看看能不能把演算法並行化,然後用分散式去做?
為啥會有這個需求,10萬張所成這麼小的圖片,每張圖片一個像素點都佔不到吧?
感覺記憶體會掛掉
10億,什麼概念,是大數據了吧
10億張圖片! ! 還想快速! ! 同求解決方案
1024*1024 = 1,048,576
10億張圖片也就是1000,000,000
每個像素約對應1000張圖片,可以採用採樣的方法,每個像素隨機在1000張圖片中選擇N張,然後在每張圖片中隨機選取M個像素,求平均值為縮圖的一個像素,依序求得縮圖的1024*1024個像素。
可以採用opencv實作。
但是,如果這10億張圖片是隨機的,結果是會接近一張灰度為0.5的圖片的。因為根據中心極限定理,縮圖的每個像素變異數是趨向於0的。你得保證10億張像素組合起來有結構特徵才行。
打開PS直接畫一張 效率max
又拍雲,阿里雲OSS都帶圖片處理功能。可以看下API 。
資料壓縮,將計算每張圖片在最終圖片上所展像素大小,然後將10億張圖片壓縮為對應大小,最終調用ImageMagick拼接
不太清楚縮圖的生成演算法原理,或是你可以看看能不能把演算法並行化,然後用分散式去做?
為啥會有這個需求,10萬張所成這麼小的圖片,每張圖片一個像素點都佔不到吧?
感覺記憶體會掛掉
10億,什麼概念,是大數據了吧
10億張圖片! ! 還想快速! ! 同求解決方案