
如何從影像中建立調色盤
我正在探索 Spectrimage 的技術演進,這是一個旨在從照片中提取五色調色盤的演算法,透過使用 OKLCH 色彩空間和 K-means++ 聚類分析來捕捉影像的感覺。
背景
這篇文章探討了如何從照片中提取出符合人類視覺直覺、而非單純數據測量的五色調色盤。作者 Amanda Hinton 透過多次迭代,從最初複雜且難以維護的 RGB 規則系統,轉向使用 OKLCH 色彩空間與 K-means++ 分群演算法,旨在解決色彩平均化導致的「渾濁感」以及 HSL 空間在低亮度下的失真問題,最終開發出名為 Spectrimage 的工具。
社群觀點
在 Hacker News 的討論中,這項研究獲得了相當高的評價。許多具有作業系統開發背景或專業影像處理經驗的網友指出,從照片中提取優質調色盤在技術上極具挑戰性。過去數十年間,無數頂尖工程師投入大量精力試圖解決這個問題,但往往難以兼顧自動化與人類審美。評論者認為作者的成果非常出色,甚至稱其為目前見過最佳的調色盤生成器之一,對其在演算法上的探索與發現表示敬意。
社群討論的一個核心共識在於色彩空間的選擇。有網友分享了自己在 2000 年代初期進行繪圖演算法研究的經驗,強調 RGB 色彩空間在處理這類問題時效果不彰,改用 LAB 或類似的感知色彩空間(如作者採用的 OKLCH)才是正確的方向。這種做法能更準確地模擬人類對色彩的感知,避免在計算過程中產生不自然的偏差。
此外,討論也觸及了實作上的複雜度。雖然 K-means 分群在理論上看似簡單,但在處理真實世界的影像時,極易遇到各種邊緣案例。例如,當影像中存在大面積的灰色調時,細微但關鍵的鮮豔色彩(如腳踏車照片中的紅色零件)往往會被演算法忽略。作者透過提高初始分群數量(K 值)並結合確定性雜湊種子來解決此問題,這種對細節的調教得到了社群的認同。部分網友也受到啟發,表示想嘗試自行實作相關演算法作為學習練習。
延伸閱讀
在討論串中,網友們分享了數個與色彩處理相關的資源。首先是 David Aerne 開發的一系列色彩工具,包括同樣基於感知色彩空間的影像提取器 okpalette.color.pizza,以及探索 RYB 色相環的實驗性專案 RYBitten。另外,有網友提到 allrgb.com 這個有趣的挑戰,其目標是在單張影像中不重複地使用所有 24 位元 RGB 顏色。最後,作者本人關於如何為影像生成完整色彩頻譜的前作也再次被提及,提供了更深層的技術背景。
相關文章
其他收藏 · 0