ForHosting KIT · 画像の編集・解析

RGB画像ピクセルを輝度加重でグレースケール変換

赤・緑・青の値を、人の目が感じる明るさに沿った灰色に変換します。純粋な赤は76、純粋な緑は150、純粋な青は29になり、128の中間の灰色は128のままです。ブラウザで無料で使えます。

  • 無料
  • ブラウザで動作
  • 登録不要
  • データは端末の外に出ません
ご利用方法 ウェブAPIメールTelegramアプリ 近日

画像ファイルのアップロードやデコーダーを使わず、RGB画素サンプルをグレースケールへ変換できます。赤・緑・青の各チャンネルを持つ画素を順序付き配列で送ると、同じ数の画素が返り、出力の3チャンネルには輝度加重した同一の灰色値が設定されます。単純平均ではなく、緑、赤、青の順に重みを付けるため、知覚される明るさをより適切に表現します。チャンネル不足、数値以外、0から255の範囲外は明確なエラーになります。

完全なRGBレコードをご用意ください

空ではない配列とし、各要素は標準名r、g、bを持つオブジェクトにしてください。チャンネル値は整数でも小数でも構いませんが、有限であり、0以上255以下でなければなりません。すべての画素に3チャンネルが必要です。

欠損値を0とみなしたり、別チャンネルを複製したり、画素を飛ばしたりはしません。そのような補完は明るさと位置対応を変えるためです。入力順は出力でも維持され、バッファー、行列、テストデータへ戻せます。

1回につき最大10万サンプルです。大きな画像は決定的なブロックへ分割してください。本機能は復号済みサンプルを扱い、PNG、JPEG、WebPのバイト列は扱いません。

輝度加重の計算をご確認ください

各サンプルの灰色値は、赤の0.299倍、緑の0.587倍、青の0.114倍を加え、最も近い整数へ丸めた値です。係数の合計は1で、中立色を保ち、緑に対する視覚感度の高さを反映します。単純平均では青が明るすぎ、緑が暗すぎる場合があります。

丸めは1回だけ行い、同じ値をr、g、bへ書き込むため、色かぶりのないRGBグレーになります。応答には件数と式も含まれ、監査しやすくなっています。処理は純粋関数であり、ネットワーク、乱数、時刻、外部モデル、可変状態を使いません。

同じ入力からは常に同じ出力が得られます。ガンマ線形化、ICCプロファイル、HDR、アルファ、ディザリングは対象外です。必要な場合は専用工程で処理してください。

結果を安全に組み込んでください

返されたsamplesは、送信した配列と位置が対応する置換データとしてお使いください。各レコードは3チャンネルのままなので、通常のRGB処理へ特別な形式なしで渡せます。行、タイル、ラスターを再構成する前に、countと送信件数を比較してください。

幅、高さ、行ストライド、向き、アルファ、メタデータは呼び出し側で保持します。透明度がある場合はアルファを別に保存し、符号化時に再結合してください。チャンネル不足、非有限数、範囲、件数のエラーは再試行対象ではなくデータ品質の問題として扱います。

黒、白、原色、中立グレー、小数、不完全なサンプルでテストすると安全です。

グレースケールバッファーの構築

復号済みRGB値を変換し、符号化前に元のラスター位置へ戻せます。

決定的なテストデータの作成

フィルター、canvas、画素処理の試験に使う正確な期待値を生成できます。

どのグレースケール式を使いますか?

round(0.299 × r + 0.587 × g + 0.114 × b)を計算し、その値を3チャンネルへ設定します。

画像ファイルを直接渡せますか?

いいえ。 復号済みRGBサンプルを受け取ります。復号と再符号化は外部で行ってください。

透明度は保持されますか?

アルファは仕様外です。 別に保持し、変換済みチャンネルと後で再結合してください。

純粋な青が純粋な緑よりずっと暗くなるのはなぜですか?

人の目は緑を青よりはるかに明るく感じるため、式では緑に0.587、青には0.114の重みしか与えないからです。純粋な緑は150、赤は76、青は29になります。

画素の色が1つ欠けている場合はどうなりますか?

変換は止まり、どの画素のどの色が欠けているかを示します。欠けた値をゼロとみなしたり別の色をコピーしたりはしません。明るさが変わり、画素の順番も崩れてしまうためです。

このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。

POSThttps://api.kit.forhosting.com/image/grayscale-convert

Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。

curl -X POST https://api.kit.forhosting.com/image/grayscale-convert \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"samples":[{"r":255,"g":0,"b":0},{"r":0,"g":128,"b":255}]}'
{
  "samples": [
    {
      "r": 255,
      "g": 0,
      "b": 0
    },
    {
      "r": 0,
      "g": 128,
      "b": 255
    }
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "image.grayscale_convert",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。

1リクエストあたり$0.002

単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。

max_samples100000
HTTPコード意味
401unauthorizedAPIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。
402insufficient_balance残高が不足しています。チャージ後に再度お試しください。
404unknown_type指定されたタスクタイプは存在しません。タイプ名を確認してください。
429rate_limitedリクエストが多すぎます。しばらく待ってから再度お試しください。

完全なRGBレコードをご用意ください

画素はJSONのsamplesフィールドに指定します。たとえば緑がない場合、invalid_inputが画素のインデックスと不足チャンネルを示します。

結果を安全に組み込んでください

ブラウザーとAPIは同じ決定的関数を使います。ブラウザーは無料で、API要求は$0.002です。

少量サンプルの事前確認

API自動化の前に、代表的なRGB値をブラウザーで確認できます。

チャンネルが不足するとどうなりますか?

invalid_inputとなり、0始まりのサンプル番号と不足しているr、g、bのいずれかを示します。

API要求の料金はいくらですか?

1回の要求は$0.002です。同じ変換をブラウザーでは無料で実行できます。

KITの完全なドキュメントを見る →