ExtractKeyColors
功能概述
ExtractKeyColors 節點深入分析影像像素特徵,並運用 KMeans 分群演算法或中位切分法 (Modified Median Cut Quantization, MMCQ) 萃取影像中最具代表性的核心主色調。它會自動依據各色彩在畫面中的出現頻率(權重佔比)由高至低依序排列,並為每一個萃取出的代表色動態建立調色盤參數引腳。極其適合用於自動生成調色盤 (Color Palette)、品牌視覺分析與 UI 設計系統建置。
適用情境
在以下情況使用此節點:
- 從參考攝影作品中萃取專屬調色盤以供設計專案套用
- 分析商標 (Logos) 與行銷素材中的主導色彩 (Dominant Colors)
- 從形象照或包裝視覺中提煉品牌標準色
- 依據輸入影像內容自主構建動態色彩主題 (Color Schemes)
- 構建基於色彩相似度的過濾器與影像調色濾鏡
- 為資訊視覺化圖表生成協調的分類色彩數據
- 分析攝影作品的色彩分佈直方圖特性
- 自視覺素材反向工程推導設計系統 (Design Systems)
使用方式說明
基礎設定步驟
- 將 ExtractKeyColors 節點新增至工作流程中
- 將影像來源連線至 "input_image" 輸入埠
- 設定欲萃取的色彩數量 (num_colors)
- 萃取完成的主色將自動作為動態參數(color_1、color_2 等)在節點屬性面板中呈現
參數說明
影像輸入 (Image Input)
- input_image:欲分析提取主色的來源影像(可由其他影像節點連線輸入)
- 支援常見格式:JPG、PNG、GIF、BMP、TIFF、ICO、WEBP
- 接收 ImageArtifact 或 ImageUrlArtifact 產物
- 整合檔案瀏覽器以便直觀選取本機影像
色彩設定 (Color Settings)
-
num_colors(範圍 2-12,預設值:3):欲萃取的主要代表色數量
- 直觀的滑桿控制器
- 色彩依據畫面顯著度(頻率最高者排在最前)嚴格遞減排序
- 每個萃取的色彩均對應生成一個獨立的輸出參數引腳
-
algorithm(預設為 kmeans):萃取主色所採用的核心演算法
- kmeans:運用 K-Means 聚類演算法實現高精度的色彩分群
- median_cut:運用改良式中位切分演算法 (MMCQ) 進行平衡的色彩空間量化切分
- 具備直觀的下拉選單供即時切換
輸出埠說明
節點會依據萃取出的主色數量動態生成色碼輸出引腳:
- color_1, color_2...:十六進位色碼字串(
#RRGGBB)- 每個參數皆整合直觀的互動式調色盤 (Color Picker) 介面
- 嚴格按佔比頻率排序(最主導的核心色為 color_1)
- 可在右側屬性面板中隨時檢視與手動拷貝
- 可直接連線至其他節點作為顏色參數輸入
範例展示
從名畫照片中提取前 5 大主導色調:
- 使用 LoadImage 載入目標油畫照片
- 將該影像連線至 ExtractKeyColors 節點的 "input_image" 參數埠
- 將 num_colors 滑桿設定為 5
- 節點將深度分析畫面像素並動態生成 5 個色彩參數:
- color_1:畫面佔比最高的首要基底色
- color_2:次要主色
- color_3:第三顯著色
- 依此類推...
- 在屬性面板中檢視這組由演算法生成的和諧調色盤
- 將這些色碼輸出引腳連線至下游排版或文字節點(如 AddTextToExistingImage)作為背景色
重要注意事項
- 演算法選型建議:KMeans 提供基於感知相似度的精確聚類;Median Cut 則擅長在大圖中實現平衡快速的色彩空間切割。
- 全自動降序排列:萃取出的色彩嚴格按其在畫面中佔有的像素權重降序排列。
- 動態參數生成機制:節點面板會精確依據您請求的
num_colors數值動態增減對應數量的引腳。 - Hex 格式標準化:所有輸出均為工業標準的
#RRGGBB十六進位字串。 - 現代函式庫相容性:底層高度相容 Pillow 11+ 與 NumPy 1.20+。
常見問題排解
- 提取的色彩數量不足:適度增加
num_colors滑桿數值以獲取更豐富的色盤梯度。 - 提取到的顏色過於接近:KMeans 能保證色彩多樣性,但對於本身色調單一的圖片,相鄰色階可能視覺上較為接近。
- 運算耗時較長:超高解析度大圖使用 KMeans 聚類運算量較大,若需加速可切換為 "median_cut" 演算法。
技術實作細節
節點遵循專業色彩量化處理管線:
- 影像轉換:將來源影像轉為標準 PIL Image 並統一投影至 RGB 感知色彩空間。
- 雙演算法引擎支援:
- KMeans 聚類:運用 scikit-learn 的 KMeans 演算法,根據像素在三維色彩空間中的歐氏幾何距離將像素分群,並以各群聚中心點 (Centroids) 作為代表色。
- 中位切分法 (MMCQ):遞迴尋找動態範圍最大的色彩空間立方體進行中位切分,直到獲得精確目標數量的顏色區塊。
- 頻率統計權重計算:統計各聚類或色彩區塊中所包含的原圖像素點總數。
- 全自動權重降序排序:以像素點涵蓋率為基準執行穩定排序。