• ベストアンサー

似た色かどうかの判断

フォトショップとかである色で選択するツール的なロジックを作りたいのですが、似ている色の判定をどうしたらよいのかわからんとです。 RGBのそれぞれの値があるとき、別のRGBと比較して近い色、遠い色の判定はどうしたらよいでしょうか? 定番の方法とかあれば教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • TIGANS
  • ベストアンサー率35% (245/681)
回答No.1

RGB空間内で簡易にやるのであれば、RとGとBの各差を2乗加算して大きいほど遠い色という計算になります。ただしこれはかなり大雑把ですね。 人間の感覚に近く判別したいのであれば色差を出しやすい色空間に変換する必要があります。色差については https://ja.wikipedia.org/wiki/%E8%89%B2%E5%B7%AE に詳しいです。 PhotoshopですとLab色空間に変換して選択するのが簡単でしょう。アンカーポイント色からLab空間内での距離を測れば人間の感覚に近い色差が出ます。 https://www.youtube.com/watch?v=nayswHy7K9A 現状ですとCIE DE2000が色差を表す標準になっていると思います。 https://www.konicaminolta.jp/instruments/knowledge/color/section2/06.html 細かい事をいうとPhotoshopのLab変換では白色光がD50設定なのでディスプレイのWPのD65とズレていますので表示上の色とは少し違和感があるかも。 ただし選択だけではなく修正もしようとするとLab色空間ですと直感的に修正するのが難しいので、HLS色空間内で選択と操作を行うほうが良いかと思います。 https://www.youtube.com/watch?v=hIoQZqVvZAo 選択はLab色空間内で修正はHLS色空間で行いLabに反映するのでも良いかも知れません。

muuming2001
質問者

お礼

RGB空間で2乗でやってたんですが、どうも意図した動作に近いのですが、違うだろ!って色も選択されて困ってました。なるほど、他の色空間物差しでやればいけるんですね。ありがとうございます。