RGBの色を混ぜるとは計算上どうなる?

このQ&Aのポイント
  • RGBの色を混ぜるとは、マス目を新しく作った色に少しだけ別の色を混ぜることです。具体的な計算式やアルゴリズムは分かりませんが、色の強さの限度を考慮して足し算や割り算が行われると思われます。
  • RGBの色を混ぜる際、色の強さに上限があり、足し算を行うことで新しい色を作り出します。ただし、単純に足し算するとオーバーフローしてしまうため、適切なアルゴリズムが必要となります。
  • RGBの色を混ぜる際には、マス目の周囲に少しだけ別の色を混ぜます。具体的な計算式はわかりませんが、色の強さの上限を考慮する必要があります。また、適切なアルゴリズムを適用することで、自己組織化がより多くのマスで実現できる可能性があります。
回答を見る
  • ベストアンサー

RGBの色を混ぜるとは計算上どうなるのですか?

池谷裕二さんのHPで自己組織化マップSOM の説明がわかりやすく書いてあります。 http://gaya.jp/spiking_neuron/som.htm そこで、同じ手順で自己組織化のシミュレーションをプログラミングしたのですが、 沢山のマス目の一つを選択してその周辺の8個のマス目を新しく作った色に   「そのマスの周囲にも、少しだけ■を混ぜてやる。」 これが具体的にどんな計算なのかが分からずうまく自己組織化しません。HPの例から 画像ソフトに貼り付けてRGBを読むと  染める色(紺色)       染められる色          結果の色 (R000 G000  B153) + (R000 G016  B255) =(R000 G009  B255)  青っぽいマス  (R000 G000  B153) + (R164 G255  B000) =(R105 G255  B150)  緑っぽいマス (R000 G000  B153) + (R255 G013  B000) =(R161 G255  B000)  赤っぽいマス (R000 G000  B153) + (R052 G255  B203) =(R000 G184  B255)  水色っぽいマス とこんな計算結果らしいのです。アルゴリズムが読めませんのであれこれ試してみました。 一色の強さ0~255までという限度がありますから単純に足すとたいがいの場合、RGBどの色かがオーバーフローします。それを単純にはみ出ただけ足切りしてもだめ。(上記の計算結果もそうなっていません)傾向が反映されたらとRGBを定数で割り算して加えると盤面全体がグレーに限りなく近づいてしまいます。 何とか自然に自己組織化するところがもっと多いマスで見たいのですが、「マス目にちょっと絵の具を垂らす。」ことをどのように計算式で表すのか、、、、ご存じの方、教えていただけませんか。

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

  • ベストアンサー
  • asciiz
  • ベストアンサー率70% (6629/9392)
回答No.1

(R1 B1 G1) + (R2 B2 G2) = (R3 G3 B3) としたときに、荷重平均していってはどうでしょうか… つまり、「R2にR1を2割混ぜる」なら、 R3 = R1*0.2 + R2*0.8 というように。(G・Bも同様) (integerで計算するならば、R3 = (R1*20 + R2*80)/100 とすれば良いかと) これなら、白と白を足してもオーバーフローせず白のままですし、灰色に白を垂らせばちょっとだけ明るくなることになります。

goropapa
質問者

お礼

ありがとうございます。なるほど!気がつかないものですね。 早速に書き直して実行してみました。 ところが、ちょっと予定外の結果になります。今までは収束せずに困っていたのですが今回池谷さんのHPのような分類にいたらずに、何度実行しても黒のバックにバラバラに色が配置されるように収束します。予想と違うのですがなにか意味のある結果になるような気もするのです。 なぜだかは不明、私のプログラミングに問題があるのかもしれませんので(たいした物ではないのですが)もう一度見直してみます。 https://picasaweb.google.com/101358257868770532602/SOM# お礼に添付が出来ないので、こちらに結果を置かせていただきます。 よろしかったらご覧ください。

goropapa
質問者

補足

ありがとうございました!! 簡単なバグを直したら自己組織化が観察できました。 https://picasaweb.google.com/101358257868770532602/SOM# よろしければご覧ください。

関連するQ&A

  • 16進数で表現される色をRGB値になおす計算

    例えば、「#F30485」という色を出したいとき、RGB値になおす場合計算方法は、 「0~9」の値はそのままで、「A~F」は「A=10」「B=11」「C=12」「D=13」「E=14」「F=15」として、2桁ずつそれぞれR・G・Bの値なので、R値は「15*16+3=243」、G値は「0*16+4=4」、B値は「8*16+5=133」で、「rgb(243,4,133)」。 つまり、計算式は、 「それぞれの最初の桁の数字*16+それぞれの2番目の桁の数字」 ということで合っているでしょうか? 回答よろしくお願いします。

    • ベストアンサー
    • HTML
  • 二つの色を混ぜてできる色はどんな色?

    windows2000 PhotoShopCS 例えば(1)の色を R:200 G:100 B:50 とします。 (2)の色を R:100 G:150 B:200 とします。 (1)と(2)の色を混ぜるとRGBの数値はそれぞれいくらになるかを計算してくれるオンラインソフトはないものでしょうか? PhotoShopの描画色と背景色を混ぜると「こんな色になります」という事を知りたいのです。

  • 色の判定

    今、画像を使用して色を判断するプログラムを開発しています。 今日、カメラから取り入れた画像の比較したい部分のマスターとターゲットのRGB毎の平均レベルを出せる様に成りました。 これで色の判別をしたいのですが、何か良い方法、定番等ありますでしょうか。 今はR/G G/B B/Rをマスター領域とターゲット領域で計算し、各々の差の合計を使って出来ないかと考えて居ます。 即ち、マスターのR/G とターゲットのR/G の絶対差、マスターのG/B とターゲットのG/B の絶対差、マスターのB/R とターゲットのB/R の絶対差の合計です。 ちょっとやって見ると、色が似ていると少ない値が得られる様です。 ただ、自己流なので、何か定番があればお教え下さい・・・と行っても、インテグラムとかシグマが入った式だと全然理解出来ず、算数レベルで何かありませんでしょうか。 よろしくお願い致します。

  • Adobe RGBモードとsRGBモード

    Adobe RGBモードとsRGBモード Adobe RGBモードで撮影した画像をsRGBの色域しかサポートしない液晶で表示すると、 意図した色とは異なる色、たいていは地味な色に表示されてしまう。 http://camera.itmedia.co.jp/dc/articles/1009/01/ … http://image.itmedia.co.jp/l/st/dc/articles/1009 … ここで質問があります。 sRGBの色空間よりも広い色空間を持つAdobe RGB。 しかし、記事中にあるように、 <左(sRGBモード)と右(Adobe RGBモード)ではわずかながら色味が異なっている。> ではAdobe RGBモードで撮影された画像の方がくすんでしまう結果になっています。 何故、このようなことが起きるのでしょうか? 結果は同じように見えるのでは・・・?と思ってしまいます。 追記 Adobe RGBモードで撮影された R150 G150 B50も、 sRGBモードで撮影された R150 G150 B50 も 「sRGBのモニタで見れば」同じなのではないかと思ってしまうのです。 (Adobe RGB対応モニタで見れば当然違いは出ると思います)

  • サーモグラフィのRGB値

    白黒画像を輝度値(0~255)が小さいときは青に,大きくなるにつれて緑,黄を経て赤になるというサーモグラフィーの色関係に対応させて色を付けたいのですが、RGB値の指定の仕方が分かりません…。現在はRGB値を以下のように定義しています。 輝度値 R  G  B 1 0 0 128 2 1 1 127 3 2 2 126 : : : : 127 127 127 1 128 128 128 1 129 1 127 1 : : : : 255 1 1 1 上の定義の仕方をいろいろ変えてみたのですがサーモグラフィーの緑や黄色部分の色合いの表現が難しくうまくいきません。 よろしくおねがいします。

  • 3つの値を1つの値に

    今色を使ったプログラムを組んでいて、RGBの3値を利用しています。 例えば R:157 G:0 B:0 と R:0 G:0 B:157 これらのRGB値を1つの値に計算し、 二つが違う色であることを判別したい場合 どのような計算方法を利用すればいいでしょうか。 よろしくお願い致します。

  • ラベルをRGBに変換する方法

    k=1,2...,n-1,n の値をRGBに変換したいんです。 k=1をR=50,G=89,B=32 という風に。(数字はランダムです) RGBはすべて0~255の範囲です。 近いkのRGBとは離れた色にしたいんです。 画像関係のことなんですが、処理は数学なので投稿しました。 お願いします。

  • 色見本などで、色を決める元になっているRGBの波長は?

    質問1: 色度図(下記URL)で、色相を決める元になっている「赤」「緑」「青」の標準波長は、それぞれいくつでしょうか? http://www.shokabo.co.jp/sp_opt/spectrum/color3/color-d.htm 質問2: また、ホームページ作成時の色指定は下記のように、RGBの相対強度で指定しますが、ここで前提とされているRGBの各「赤」「緑」「青」の波長は、色度図のRGBと同じものでしょうか?   色名    コード   R  G  B darksalmon  #E9967A  233 150 122

  • 216色(#FFFFF0等)と、RGB。両方載っているHPはありますか?

    HPで、とても気に入った色を見つけて、その色を自分のWordの背景にしようとおもったのですが、HPでは、216色の#FFFFFFのような表記でしたが、Wordでは、RGB使用。 216色に直す方法は知っていますが、計算が面倒です。 どこかのHPで、216色(#FFFFFF等)とRGB、2つ載っているHPは有りますでしょうか? 出来れば、フリーソフトで、RGB→216色 216色→RGBと、切り替えが出来るソフトがあればなぁと思っています。 宜しくお願いします。

  • RGB値について

    この前ある人に >"#E9FF84" は10進法では、R=233 G=255 B=132 です(Windows付属の電卓で16進数と10進数の相互計算ができます)。 と言われたのですが、Windows付属の電卓でどう計算すれば#E9FF84はR=233 G=255 B=132だと分かるのですか? 宜しくお願いします。

専門家に質問してみよう