許多圖片處理演算法原理其實很簡單,難點在於如何落地實現,更難的是如何優化。程式碼執行效率固然重要,但若處理一張相片要等到買杯奶茶回來還沒跑完,這體驗無法接受。
馬賽克本質:將圖片切分為若干 val × val 的小區塊,每區塊內所有像素顏色一致。為簡化,取區塊左上角像素顏色作為代表色(也可取中心點、隨機點等)。
原圖像素 馬賽克處理後 A B C D E F G A A C C E E G H I J K L M N A A C C E E G O P Q R S T U O O Q Q S S U V W X Y Z 0 1 O O Q Q S S U 2 3 4 5 6 7 8 2 2 4 4 6 6 8
這樣只需掃描一次圖片,即可完成全圖馬賽克化,邏輯清晰且易於優化。