mcpField
I
image-analysis

image-analysis

github.com/pascalorgデザイン・UI10196 回インストール7 週間前に更新
リポジトリ

image-analysis について

image-analysisは、画像ファイルから目立つ色を抽出してパレットを作成します。スクリーンショットやFigmaの書き出し画像などを基にUIを実装する開発者向けで、色値と面積の情報を返します。

主な機能

  1. 01目立つ色の抽出
  2. 02PNG、JPG、WebP、BMP、GIFに対応
  3. 03目立ち度順で色を表示
  4. 04hex、RGB、HSL値を出力
  5. 05相対的な面積を表示

活用シーン

  1. 01スクリーンショットにUIの色を合わせる
  2. 02デザインモックアップからパレットを作成
  3. 03写真内の色を特定
  4. 04画像からデザイントークンを作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/pascalorg/skills --skill image-analysis

インストール後、Claude Code で/image-analysisを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

scripts/
extract-colors.js
extract-colors.sh
package-lock.json
package.json

詳細

画像分析 — 色の抽出

任意の画像ファイル(PNG、JPG、WebP、BMP、GIF)から主要な色を抽出し、構造化されたパレットを返します。スクリーンショット、Figma のエクスポート、デザインのモックアップに合わせた UI の実装に役立ちます。

使用するタイミング

  • ユーザーがスクリーンショットやデザイン画像を提供し、それを実装したい場合
  • ユーザーが画像から色を抽出または特定したい場合
  • ユーザーが写真やモックアップからカラーパレットを取得したい場合
  • ユーザーがコードの色を参照画像に合わせたい場合

仕組み

  1. get-pixels を使用して画像ファイルを読み込み、生のピクセルデータを取得します
  2. ピクセルデータを extract-colors に渡し、主要な色を計算します
  3. 面積/目立ちやすさの順に並べたパレットを、16 進数、RGB、HSL の値と面積の占有率とともに返します

使用方法

画像のパスを最初の引数に指定して、抽出スクリプトを実行します。

bash <skill-path>/scripts/extract-colors.sh /path/to/image.png

引数:

  • $1 — 画像ファイルへのパス(必須)。PNG、JPG、WebP、BMP、GIF に対応しています。

例:

# Extract colors from a screenshot
bash <skill-path>/scripts/extract-colors.sh ./screenshot.png

# Extract colors from a Figma export
bash <skill-path>/scripts/extract-colors.sh ~/Downloads/figma-design.jpg

出力

スクリプトは、目立ちやすさの順に並べた色の JSON 配列を出力します。

[
  {
    "hex": "#1a1a2e",
    "red": 26,
    "green": 26,
    "blue": 46,
    "hue": 0.6667,
    "saturation": 0.2778,
    "lightness": 0.1412,
    "area": 0.3241
  },
  {
    "hex": "#e94560",
    "red": 233,
    "green": 69,
    "blue": 96,
    "hue": 0.9724,
    "saturation": 0.7928,
    "lightness": 0.5922,
    "area": 0.1856
  }
]
フィールド型説明
hexString16 進数形式の色(例:#1a1a2e)
redInteger赤チャンネル(0~255)
greenInteger緑チャンネル(0~255)
blueInteger青チャンネル(0~255)
hueNumber色相(0~1)
saturationNumber彩度(0~1)
lightnessNumber明度(0~1)
areaNumber相対的な面積/目立ちやすさ(0~1)

結果をユーザーに提示する

色を抽出した後、構造化されたパレットとして提示します。

Color Palette (sorted by prominence):

1. #1a1a2e — 32.4% (dark navy) — Primary background
2. #e94560 — 18.6% (coral red) — Accent color
3. #f5f5f5 — 15.2% (light gray) — Secondary background
...

次に、ユーザーのコードベースでこれらの色を使う方法を提案します。

  • CSS カスタムプロパティ/変数
  • Tailwind 設定のテーマカラー
  • デザイントークンの定義
  • コンポーネントのスタイルで直接使用

トラブルシューティング

「Cannot find module」エラー

スクリプトは初回実行時に依存関係(extract-colors、get-pixels)を自動インストールします。失敗した場合は、手動でインストールしてください。

cd <skill-path>/scripts && npm install
未対応の画像形式

基盤となる get-pixels ライブラリは、PNG、JPG、GIF、BMP に対応しています。それ以外の形式の場合は、先に画像を変換してください。

大きな画像の処理が遅い

extract-colors ライブラリは、デフォルトで自動的に 64,000 ピクセルにダウンサンプリングします。非常に大きな画像も十分高速に処理できますが、必要に応じてスクリプトの pixels オプションを調整できます。

コメント