- ベストアンサー
RGBからの色の特定
RGB値から一般的に赤と思われる色を判別する公式か法則を知っている方がいらっしゃれば教えてください。 雲を掴むような話なので、想像もつきません。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
RGBで考えるよりHSVに変換して,色相(Hue)で判断するのが適切と思います。
その他の回答 (4)
人間にとって赤に最も近い色 C を決めて、RGB色空間で C を中心に、半径 d の球の中に入っている色は「赤」であるとするのが簡単だと思います。 つまり、ある色 P(r1,g1,b1)と C(r2,g2,b2)の距離が d 以下ならば赤に近いという事です。 → √((r1-r2)^2 + (g1-g2)^2 + (b1-b2)^2) <= d 色 C を、単純に (255,0,0) とするかどうかと、距離 d を試行錯誤することで、ある程度納得できるものになるはずです。 デバイスの特性を加味する必要があるときは、球を歪めてやる必要があるので、相当複雑になってしまいます。
お礼
空間として考えて赤の範囲をきめてやり距離で識別するというやりかたですか、、、これもよい方法ですね。。。 どうもありがとうございます! これ以上まっても新しい回答がくるとはおもえないので締め切りたいとおもいます。。みなさんからのすばらしい回答に非常に感謝しております。ポイントはみなさん甲乙つけがたいのですが早い順ということでご勘弁を。
- ymmasayan
- ベストアンサー率30% (2593/8599)
あまり理論的ではないのですが、私がやるとしたらと言う気分で。 その方、あるいはその会社に色見本、またはRGBの画面の色をたくさん見せて、赤かそうでないかを判定してもらいます。 その後、赤とそうでない領域を分ける曲面を定義しこれを数式に変換してプログラムに組み込む。 大変手間がかかって現実的でないかも知れません。 でも、相手の言うとおりに合わせ込めると言う利点があります。
お礼
そうですね。そちらからのアプローチも必要ですよね。たしかに非常に時間と手間のかかる作業がもしれませんが。一度、その手順を踏んでノウハウをきめておくと非常にのちのち役立つかもしれません! 違う視点からのご意見 どうもありがとうございました。
- sesame
- ベストアンサー率49% (1127/2292)
「一般的に赤と思われる色」という定義自体、主観を伴う、幅があるものなので、定量化することはできません。 一般に、RがG,Bより大きく、GとBがほぼ近い値であれば赤系の色ということはできます。 ですから式で書くと、 R>G ∧ R>B ∧ G≒B ということになりますね。
補足
>>「一般的に赤と思われる色」という定義自体、主観を伴>>う、幅があるものなので、定量化することはできません。 そうなんです。。一般的の基準は??って聞きたいところなんですが、先方が眼でみて赤とおもわれるものだけを抽出したいっていわれるので頭を痛めているのです! 「は?」って感じなのですが、仕事なのでやらざるを得ないのです。RGBから赤らしきものをつくるのは非常に簡単なのですが、、RGBから赤らしきものだけを読み取るっていう作業が意外に難しいので、、、 R>G ∧ R>B ∧ G≒B という式はかなり助かりました、、、ただ条件によってはあてはまらなくなってしまうケースがあるのでそこをどうするかが悩みどころです 。
- ranx
- ベストアンサー率24% (357/1463)
Rの値が大きくてG・Bが小さければ赤だと思いますけど。
お礼
すばらしいです。。おそらくterra5さんの回答で9割方解決したと思います。。ただ、もうすこし他のほうほうがあれば後学のためにしっておきたいので締め切りはもうすこし伸ばそうとおもいます。 眼からうろこでした。どうもありがとうございます!