データベース アプリの場合、カラー スケールに対して、写真のセクションの平均的な色合いを判断しようとしています。
初心者なので、これを説明するのは非常に難しいと思うので、達成しようとしていることを正確に示す簡単な図を作成しました。
http://www.knockyoursocksoff.com/shade/
誰かが私にいくつかのアイデアを与える時間があれば、私はとても感謝しています.
幸運をお祈りしています、
ウォーレン。
カラー写真を使用している場合は、まず選択領域を RBG (赤、緑、青) から HSL/HSV に変換する必要があります (記事)。
HSLは「色相、彩度、明度」の略です。1気になる数値は軽さです。
最も一般的な用語では、明度とは、着色された表面の明るさをどのように知覚するかを指します。赤/緑/青のコンポーネントを使用して、赤のパッチが青のパッチよりも明るい/暗いかどうかを判断するのは困難です。HSL に変換すると、その問題が解決されます。
変換が完了したら、選択した領域の明度値を単純に平均化できます。
明度の値に関する簡単な注意: 技術的には、明度の知覚は線形ではないため、明度の値を単純に平均化することはできません (記事)。ただし、非常に科学的なアプリケーションを作成している場合を除き、単に明度を平均化するだけで「十分に正確な」値が得られます。
1 Adobe Photoshop では、HSB (色相、彩度、明度) と呼ばれます。
ピクセル値を平均することから始めると思います:
for x = start_x to end_x
for y = stary_y to end_y
total += getPixel(x,y)
shade = total / (xlen*ylen)
カラーでやる場合はもっと複雑になります。