跳轉至

ExtractKeyColors

功能概述

ExtractKeyColors 節點深入分析影像像素特徵,並運用 KMeans 分群演算法或中位切分法 (Modified Median Cut Quantization, MMCQ) 萃取影像中最具代表性的核心主色調。它會自動依據各色彩在畫面中的出現頻率(權重佔比)由高至低依序排列,並為每一個萃取出的代表色動態建立調色盤參數引腳。極其適合用於自動生成調色盤 (Color Palette)、品牌視覺分析與 UI 設計系統建置。

適用情境

在以下情況使用此節點:

  • 從參考攝影作品中萃取專屬調色盤以供設計專案套用
  • 分析商標 (Logos) 與行銷素材中的主導色彩 (Dominant Colors)
  • 從形象照或包裝視覺中提煉品牌標準色
  • 依據輸入影像內容自主構建動態色彩主題 (Color Schemes)
  • 構建基於色彩相似度的過濾器與影像調色濾鏡
  • 為資訊視覺化圖表生成協調的分類色彩數據
  • 分析攝影作品的色彩分佈直方圖特性
  • 自視覺素材反向工程推導設計系統 (Design Systems)

使用方式說明

基礎設定步驟

  1. 將 ExtractKeyColors 節點新增至工作流程中
  2. 將影像來源連線至 "input_image" 輸入埠
  3. 設定欲萃取的色彩數量 (num_colors)
  4. 萃取完成的主色將自動作為動態參數(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 大主導色調:

  1. 使用 LoadImage 載入目標油畫照片
  2. 將該影像連線至 ExtractKeyColors 節點的 "input_image" 參數埠
  3. 將 num_colors 滑桿設定為 5
  4. 節點將深度分析畫面像素並動態生成 5 個色彩參數:
    • color_1:畫面佔比最高的首要基底色
    • color_2:次要主色
    • color_3:第三顯著色
    • 依此類推...
  5. 在屬性面板中檢視這組由演算法生成的和諧調色盤
  6. 將這些色碼輸出引腳連線至下游排版或文字節點(如 AddTextToExistingImage)作為背景色

重要注意事項

  • 演算法選型建議:KMeans 提供基於感知相似度的精確聚類;Median Cut 則擅長在大圖中實現平衡快速的色彩空間切割。
  • 全自動降序排列:萃取出的色彩嚴格按其在畫面中佔有的像素權重降序排列。
  • 動態參數生成機制:節點面板會精確依據您請求的 num_colors 數值動態增減對應數量的引腳。
  • Hex 格式標準化:所有輸出均為工業標準的 #RRGGBB 十六進位字串。
  • 現代函式庫相容性:底層高度相容 Pillow 11+ 與 NumPy 1.20+。

常見問題排解

  • 提取的色彩數量不足:適度增加 num_colors 滑桿數值以獲取更豐富的色盤梯度。
  • 提取到的顏色過於接近:KMeans 能保證色彩多樣性,但對於本身色調單一的圖片,相鄰色階可能視覺上較為接近。
  • 運算耗時較長:超高解析度大圖使用 KMeans 聚類運算量較大,若需加速可切換為 "median_cut" 演算法。

技術實作細節

節點遵循專業色彩量化處理管線:

  1. 影像轉換:將來源影像轉為標準 PIL Image 並統一投影至 RGB 感知色彩空間。
  2. 雙演算法引擎支援:
    • KMeans 聚類:運用 scikit-learn 的 KMeans 演算法,根據像素在三維色彩空間中的歐氏幾何距離將像素分群,並以各群聚中心點 (Centroids) 作為代表色。
    • 中位切分法 (MMCQ):遞迴尋找動態範圍最大的色彩空間立方體進行中位切分,直到獲得精確目標數量的顏色區塊。
  3. 頻率統計權重計算:統計各聚類或色彩區塊中所包含的原圖像素點總數。
  4. 全自動權重降序排序:以像素點涵蓋率為基準執行穩定排序。