光の三原色についての質問なのですが、フィルターなどによって光をR,G,Bに分解した時、その値から何色かを特定するにはどうしたらよいのでしょうか。例えば、赤、茶、橙、黄、緑、青、紫、白、灰、黒の10色に分けるとしたら、どこからが黄色であるとか、どこからが灰色であるとかを決めたいのです。数値を使ってでの良い計算法がありましたら、理由とともに教えていただけないでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (5件)

名前付けにそんなに厳密性を求めていないんでしたら、


手抜き方法として、こんなのはどうでしょう?

以下では、RGBの計測値がデジタルデータになっていること、
コンピュータで簡単なプログラムを書ける環境にあること、
を仮定しています。

HTMLやXサーバ(UNIX用GUI環境)では、色の名前と
RGB値(各色256階調)の対応の規格を作っています。

この対応表の各項目の(色名,RGB値)の対応を全て配列として
記憶させておきます(辞書データ)。色名を判別したい
RGB値を入力データとします。入力データと辞書データの
全RGB値を比較し、最も誤差の小さい辞書データ中の色名を、
入力データの色名として出力する(最近傍法,
Nearest Neighbor法)、というプログラムを組めば、
RGB値→色名の変換プログラムができます。

ただし、これらの対応表はディスプレイ上での発色について
の対応関係なので、RGB値の元データを出力する計測機器の
特性がそれに近いかどうか、前もって検討しないと
いけないでしょう。

あと、色相、彩度、明度の計算方法は以下の通りです。

明度 = R + G + B
彩度 = 1 - 3×min(R, G, B)÷明度
色相 = arccos[ 1/2×{(R-G)+(R-B)}
        ÷ {(R-G)^2 + (R-B)(G-B)}^(1/2) ] (B<=Gのとき)
   2π-arccos[〃] (otherwise)


arccosは逆余弦、x^yはxのy乗を表しています。また、
正規化は適当に行ってください。

色の名前一覧
http://www.na.sakura.ne.jp/~nyan/HP/COLOR-NAME.h …

HTML Color Name Reference
http://www.cam.hi-ho.ne.jp/~ryuu/javas/colors.html

RGB to Color Name Mapping
http://eies.njit.edu/~kevin/rgb.txt.html
    • good
    • 0
この回答へのお礼

親切な回答、本当にありがとうございました。みなさんからの回答をもう一度調べてみようと思います。またわからないところがありましたら、質問をすることになると思いますが、その時はよろしくお願いします。

お礼日時:2001/09/02 18:21

えーっと、RGBの値を元に、HSL(色相、彩度、明度)の値を計算します。

具体的な計算式は不明です(^^; 画像処理関係の書籍とかに載ってると思います。

んで、まずは色相の値を使って、赤、茶、橙、黄、緑、青、紫等の色を判別します。
その後で、彩度を使って、その色が無彩色(白、灰、黒)に当たるかどうかを判別し、更に、明度を使って白、灰、黒のどれに当たるかを判別します。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。RGBの値を元に、HSL(色相、彩度、明度)の値を計算するのですか?わかりました、調べてみます。もしわかりましたら、教えてください。

お礼日時:2001/08/28 21:39

1.不変的な色


色の成分(どの波長を吸収し、反射するか)については、不変です。(っていうか数値化出来ます)
しかし、連続した波長である色を○○色に分ける、というのは慣用的なものであり、時には個人の感覚によるものであり、明確な区分(ここからここまでが何々色、と決める事)は不可能と言わざるを得ません。
私は、印刷インキを調色し、品質管理のため、作ったインキを展色し、分光光度計にかけてスペクトル分析をし、色を数値化する仕事をやっていました。
その時に使っていた表色系(色を数値化・体系化する方法)は、「L*a*b*」というのでした。見本色との色差は、「△E*」で表します。詳しくはURLをご覧下さい(RGBの値を色にする、というのもあります)。

2.相対的な色
色の見え方については、同じ色であっても、見る人の視覚や光源の色温度(白熱灯だと赤く見えるし、蛍光灯だと青く見える)により、相対的に変化します。条件等色(メタメリズム)とは、分光分布が異なる2つの色が特定の観察条件で同じ色に見えることをいいます。視感測色による調色は、3刺激値(R.G.B)が合致するだけで分光分布の一致までは分からないので、光源が異なると色が違って見えるケースが多いのです。分光分布が等しい等色の事を、アイソメリック・マッチング(完全等色)といい、どんな光源下でも等しい色に見えます。

参考URL:http://www.colordream.net/howto.htm#light
    • good
    • 0
この回答へのお礼

回答ありがとうございます。確かに色には個人差がありますし、明確な区分はむずかしいですよね。でも個人的でも良いので、色を値から区分したいのですが・・・。

お礼日時:2001/08/28 21:34

詳しくは分かりませんが前に色を合わせる仕事をしてましたので回答させてください。



白、灰、黒についてですが無彩色ですので濃度の数値しか出ないと思います。

有彩色は赤、オレンジ、黄色、グリーン、青、紫、赤の順がマンセルの順です。

色には色度、彩度、彩度(HCV)も必要です。

もしマンセルブックがありましたらそちらを実際にみられた方がいいと思いますし、質問に答えたいのでできましたら補足をお願いします。

参考で新版 色の常識 日本規格協会発行の本を注文されてはどうでしょう?
本屋さんには無い可能性が高いです。

この回答への補足

回答ありがとうございます。マンセルブックですか。すいません、どんな本なのか分からないので調べてみます。今回私は、R,G,Bの各々の値から、だいたいそれがどんな色なのかをおおざっぱにでも分からないかと考え、質問をさせていただきました。個人的にでも色の境目を決めたいのですが、あまり知識がないためわからないのです。できれば色の数値関係がわかるように教えていただけませんでしょうか?

補足日時:2001/08/28 21:22
    • good
    • 0

色の感覚なんて、個人差がありますからねぇ


たとえば、赤と橙でもその分界点は人によってさまざまです
虹なんかでもよその国に行けば、6色だとか5色だとか言いますし・・・

個人的な感覚でよいのなら
グラフィック系のソフトを立ち上げて(Microsoftの「ペイント」とか)
色の作成で色々試してみてはどうかと。
目的の色をクリックすると、RGBの数値が出るやつありますよね?
たしか「色」メニューから「色の編集 」→「色の作成」で
    • good
    • 0
この回答へのお礼

回答ありがとうございます。今回は私は個人的感覚で色を分けてみようと思って質問させていただきました。ペイントですか。やってみようと思います。

お礼日時:2001/08/28 21:19

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QHTML→PHP フォームの値の受け渡しができません

PHPをはじめたばかりの初心者です。
ネットでいろいろ調べましたがわからず困っています。
お助けくださいm(_ _)m

<内容>
フォームの入力内容をPHP側で参照できません。
具体的には、
<form method="post" action="test.php">
<select name="BirthDay" size="1">
<option value="1">1月生まれ</option>
<option value="2">2月生まれ</option>
<option value="3">3月生まれ</option>
</select>
<input type="submit" value="決定">
</form>
で飛ばした値を、
print($BirthDay);
で表示させようとしています。
しかし、$BirthDayには何も入ってきません。
ただ、できないのはローカル環境だけで、
実際、他のサーバーにアップしてやると正常に
動作します。
ローカル環境は
Win2000SP4+PHP4.4.1+Apache1.3.34
です。
httpd.confを見直しましたがわかりませんでした。
ぜひアドバイスをお願いしますm(_ _)m

PHPをはじめたばかりの初心者です。
ネットでいろいろ調べましたがわからず困っています。
お助けくださいm(_ _)m

<内容>
フォームの入力内容をPHP側で参照できません。
具体的には、
<form method="post" action="test.php">
<select name="BirthDay" size="1">
<option value="1">1月生まれ</option>
<option value="2">2月生まれ</option>
<option value="3">3月生まれ</option>
</select>
<input type="submit" value="決定">
</form>
で飛ばした値を、
print($BirthDay);
で表示させようと...続きを読む

Aベストアンサー

そういうときは

$_POST[BirthDay] で受け取ります
GETの場合は
$_GET[]です

Q色の三原色と光の三原色の対応関係は?

色の三原色は光の三原色に、光の三原色は色の三原色に変換表示することができるのでしょうか。

シンフォニーブルー(C95M40Y0)という色を、デジタル上で使いたいと思い質問させていただきました。

Aベストアンサー

 色の三原色は全部混ざると黒?
 光の三原色は全部混ざると白?
 ってことは、その色の三原色のパーセンテージを調べて、反転すればいいんですかね?
 とりあえずたくさんの青を公開している方がいらっしゃったので、、、
 

参考URL:http://www.geocities.jp/pide505/ao.htm

Qhtmlからphpへの値の受け渡しについて

いつも助けてもらってます。
今回も宜しくお願い致します。

現在、複数のhtmlページから一つのphpを呼び出しているのですが、
phpのselect文の中で各ページの持つ定数(変数?)を使用したいと考えています。

phpのselect文
SELECT
*
FROM
ITEM
WHERE
ITEM_DIV = 各ページの定数(文字列)


各ページの定数は、必ず同じ物です(ダイエット、食品etc..)
グーグルなどで調べた結果、
POSTやSESSION、FORMで出来そうな感じだったのですが、

渡すものがいつも決まっていて、かつ一つなので
もっと簡単に渡せるんじゃないかな?と考えて投稿させてもらいました。

宜しくお願いします!!

Aベストアンサー

php側で、どのhtmlからリンクされたかが分かればいいと思いますので、
サーバ環境変数の $_SERVER['HTTP_REFERER'] で可能かと思います。

参考URL:http://lib.stwing.jp/archives/2005/09/php_server.html

Q色の三原色と光の三原色

それぞれ、赤青黄、赤緑青、ですよね。素朴な疑問ですが、これはなぜこのようになっているのでしょうか。

Aベストアンサー

三原色とは一言でいえば、色をつくるときの元になる三つの色のことです。光固有の色には光のスペクトルにみられるように、少なくとも紫、青、緑、黄、橙、赤の6色がありますが、人工的に色をつくるには3色あればあらゆる(ほとんどの)色をつくりだせるというのが三原色です。

三原色は2種類あります。“光の三原色”の青紫(略号B)と緑(G)と赤(R)の3種の組み合わせと“色の三原色”のイエロー(Y)とマゼンダ(M)とシアン(C)の3つの組み合わせです。

なぜ二通りの三原色があるかというと、色を混ぜ合わせる方法が二通りあるからです。つまり「加色法」と「減色法」であり、「加色法」で色をつくるときは“光の三原色”のBGRの色光が、「減色法」で色をつくるときは“色の三原色”のYMCの色材が用いられます。つまり、三原色といっても前者は光であり、後者は色材なのです。したがって、“光の三原色”は青紫色光(B光)、緑色光(G光)、赤色光(R光)と呼ぶのが正しいといえます。

というようなことが検索するといろいろ出てきます(例:参考URL)。

参考URL:http://www.mmjp.or.jp/rwicp/data302.html

三原色とは一言でいえば、色をつくるときの元になる三つの色のことです。光固有の色には光のスペクトルにみられるように、少なくとも紫、青、緑、黄、橙、赤の6色がありますが、人工的に色をつくるには3色あればあらゆる(ほとんどの)色をつくりだせるというのが三原色です。

三原色は2種類あります。“光の三原色”の青紫(略号B)と緑(G)と赤(R)の3種の組み合わせと“色の三原色”のイエロー(Y)とマゼンダ(M)とシアン(C)の3つの組み合わせです。

なぜ二通りの三原色があるかというと、...続きを読む

Qhtmlファイルからphpファイルへの値の受け渡し

表を使った問い合わせフォームを作成したのですが、データを受け渡す方法がわかりません!!

初めの問い合わせページは以下のようにhtmlファイルで記述しました。

この場合、次のページにデータを引き渡すphpファイルには、どうのような記述をしたら良いのでしょうか?

<form method="post" action="info.php">
<table class="table margin01" width="592" border="0" cellpadding="0" cellspacing="0">

<tr>
<td width="190" align="left" bgcolor="#FFF09D">お名前 <span class="tabletext1">※必須</span></td>
<td><input name="name" type="text" class="form01" id="name" /><br />
入力例:山田 太郎
</td>
</tr>

<tr>
<td align="left" bgcolor="#FFF09D">メールアドレス <span class="tabletext1">※必須</span></td>
<td><input name="mail" type="text" class="form01" id="mail" /><br />
入力例:●●●●●●@yamada.co.jp
</td>
</tr>

<tr>
<td align="left" bgcolor="#FFF09D">メールアドレス(確認) <span class="tabletext1">※必須</span></td>
<td><input name="mail2" type="text" class="form01" id="mail2" /></td>
</tr>

<tr>
<td align="left" bgcolor="#FFF09D">お問い合せ内容 <span class="tabletext1">※必須</span></td>
<td>
<select name="list" id="list">
<option>お問い合せ内容をお選びください</option>
<option>事業内容について</option>
<option>求人について </option>
<option>その他</option>
</select>
</td>
</tr>

<tr>
<td align="left" bgcolor="#FFF09D">内容 <span class="tabletext1">※必須</span></td>
<td><textarea name="content" id="内容" cols="45" rows="5"></textarea></td>
</tr>

</table>

<p align="center" class="margin01">
<input type="reset" value="クリア" />
<input type="submit" value="送信内容を確認する" />
</p>
<input type="hidden" name="test" value="cloud" />
</form>

表を使った問い合わせフォームを作成したのですが、データを受け渡す方法がわかりません!!

初めの問い合わせページは以下のようにhtmlファイルで記述しました。

この場合、次のページにデータを引き渡すphpファイルには、どうのような記述をしたら良いのでしょうか?

<form method="post" action="info.php">
<table class="table margin01" width="592" border="0" cellpadding="0" cellspacing="0">

<tr>
<td width="190" align="left" bgcolor="#FFF09D">お名前 <span class="tabletext1"...続きを読む

Aベストアンサー

ここが参考になりますかね。


http://www.phppro.jp/school/phpschool/vol6/1


postの処理をどう判定するのかどうか書いてあります。

若干異なるのは、質問者さんは次の画面で入力チェックを行いたいと言う事ですが、
参考サイトは遷移前で入力チェックを行っています。
入力するたびに次画面に遷移してエラーであれば戻ると言うのは
あまりよろしくないかと思いますが…。

Q光の三原色と色の三原色について

光の場合、赤色の波長のみが反射して人間の目に映るので、赤く見えると思うのですが、絵の具の赤色もその反射で赤く見えるのならば、絵の具の場合のような、色の三原色である赤・黄・青の三色を混ぜると黒くなってしまうのに、光の三原色である赤・緑・青色を混ぜると白くなって見えるのはおかしく思うのですが。
絵の具の赤色と光の赤色とは違うと思わなければならないのでしょうか。

Aベストアンサー

例えば絵の具の赤色というのは「白色光下で見た場合に赤色に見える」
ものです。青い光しかないところで見ると赤色には見えません。
つまり、絵の具の色とは「光の色成分のうち、特定の色成分だけを
反射する」ことで実現しています。しかし光の赤色というのは、
光の赤成分そのものを指しますので、光の赤色と絵の具の赤色は違う
と思います。

さて、黒色についてですが、これは光の色成分によって実現される
ものではなく、明度によって実現されます。

絵の具の赤色の場合、赤色成分を反射しますが他の色成分は吸収し
たり拡散したりしています。青や黄もその色成分以外は吸収、拡散
しています。つまり、反射するものよりも吸収、拡散してしまう成分
の方が全然多いわけです。
したがって、絵の具の原色を全て混ぜると、確かに全成分を反射して
いるのですが、吸収、拡散されている成分の方が多いために明度が
うんと暗くなってしまい、黒色(厳密には黒ではなく、暗い灰色程度)
になってしまうのです。

・・・って、長い説明のわりにわかりづらかったですね。すみません。

例えば絵の具の赤色というのは「白色光下で見た場合に赤色に見える」
ものです。青い光しかないところで見ると赤色には見えません。
つまり、絵の具の色とは「光の色成分のうち、特定の色成分だけを
反射する」ことで実現しています。しかし光の赤色というのは、
光の赤成分そのものを指しますので、光の赤色と絵の具の赤色は違う
と思います。

さて、黒色についてですが、これは光の色成分によって実現される
ものではなく、明度によって実現されます。

絵の具の赤色の場合、赤色成分を反射しますが...続きを読む

QHTML データ受け渡し

HTMLのデータ受け渡しをしたいのですが

例えば

・担当者_HTML

担当者選択
A        ←Aを選択(Aという値を年齢_HTMLに転送)


・年齢_HTML

年齢選択
20代     ←20代を選択(20代という値とBという値を実行ファイルに渡したい)
30代

Aベストアンサー

これだけのデーターだとすると、自作自演。

このような事をしたいと思うということは、この手の事をしていないと、この発想をしない。

とりあえず、候補を挙げておくが。

基本的なところから

http://reference.ascii.jp/html/form

ServerSideScriptを使う。POSTなのかGETなのかがポイント。

次にGETの応用

URL#HTML Object Element Name(ID)

これにイベント属性との組み合わせ。

JavaScriptなどを使った、ClientSideScriptで選択した結果を処理し、最後にFORMで送信。

ASPXやJSPなどを使えば、バインドしたHTMLタグを使える、

やり方は、さまざまあるので、基本的な事をまなんでから、何ができそうだから、何を使ってやる場合。などと、再度質問してください。

Q自由研究について(色の三原色&光の三原色)

こんにちは。今、夏休みの宿題に科学研究(自由研究)が出ていて、悩まされています。
色々考えた末、課題は「色の三原色」について調べようと思っているのですが・・何をしようとかは決まっていません。
結構学校側も厳しくて、実験はもちろん数量化してまとめなさいとの事です。(普通かな?)
「色の三原色」について、インターネットで調べていてもあまり良いものは出てきませんでした。
調べていると、この課題は中学生には少し難しいとも書いてありました。(余談になりますが、実は最初「光の三原色」と対比して考えようとも思ってました。)
何か色の三原色について(光の三原色についても何か有りましたら)良い実験方法などがありましたら教えてください。ちなみに自分は中3です。
少しの情報でも何でもいいので・・・。宜しくお願いします。
分かりにくい文ですいません。

Aベストアンサー

中学3年生で、一度でも電子回路を扱ったことのある人ならLEDの使用はなんとかできるかもしれません。

LEDは特定の波長を出す半導体部品で、簡単に言ってしまえば、電球や蛍光灯、太陽などの光は赤とか青とか色々な光が混ざり合うことで白っぽい光になっています(光の三原色)が、LEDは青なら青!というように、特定の色しか出さないという性質があり、光の三原色などの実験には適しています。

LEDは価格的には1本数円~数百円ですが、
こういった実験には高輝度LEDとか、超高輝度LEDとかいって販売されたものがいいと思います。
秋葉原か、通販がいいと思います。

実際の実験としては色を実際に混ぜて比率をかえてみるとかでしょうかね。ここはアイディアしだいですね。

ただし、LEDは豆電球と違ってただ電池をつないだだけでは光りません。というか光ることは光るのですが、許容できる電圧のはばがかなり狭く、電流による何らかの制御が必要になってきます。ちょっと電圧をこえちゃったらすぐに切れてしまうし、下回るとうんともすんともいいません。そのため、適正電圧より高い電源を用意し、それを抵抗などを使って、20mA以下の電流が流れるような回路を作らなければいけません。この計算は中学校のオームの法則で求められます。ただし、この実験にはLEDや抵抗の他にやはりテスターが必要です

もし、がんばって回路を組みたいというのなら協力しますが、難しいと思うのならLEDの利用はあきらめた方がいいと思います。もちろん他にも様々な実験があると思うので探してみて下さい。

中学3年生で、一度でも電子回路を扱ったことのある人ならLEDの使用はなんとかできるかもしれません。

LEDは特定の波長を出す半導体部品で、簡単に言ってしまえば、電球や蛍光灯、太陽などの光は赤とか青とか色々な光が混ざり合うことで白っぽい光になっています(光の三原色)が、LEDは青なら青!というように、特定の色しか出さないという性質があり、光の三原色などの実験には適しています。

LEDは価格的には1本数円~数百円ですが、
こういった実験には高輝度LEDとか、超高輝度LEDとかいって販売された...続きを読む

Q値の受け渡しについて

JavaScriptを使用しa.htmlからb.htmlへ
値の受け渡しについて分らない事があります。

やりたいことはa.html内にある
<a href="b.html">あああ</a>の「あああ」の値を
b.html内にある<INPUT>に入れたいのです。

現在記述しているコードを下記記しますので
何方かご教授お願いします。

■a.html
<html>
<a href="b.html" onclick="this.href=this.href+'?'+encodeURIComponent(this.innerHTML)">あああ</a>
</html>
■b.html
<html>
<script type="text/javascript">
query = decodeURIComponent( location.search.slice(1,1000) );
document.getElementById('in_name').value = query;
</script>
<form>
<INPUT type="text" id="in_name" name="in_name" value="">
</form>
</html>

JavaScriptを使用しa.htmlからb.htmlへ
値の受け渡しについて分らない事があります。

やりたいことはa.html内にある
<a href="b.html">あああ</a>の「あああ」の値を
b.html内にある<INPUT>に入れたいのです。

現在記述しているコードを下記記しますので
何方かご教授お願いします。

■a.html
<html>
<a href="b.html" onclick="this.href=this.href+'?'+encodeURIComponent(this.innerHTML)">あああ</a>
</html>
■b.html
<html>
<script type="text/javascript">
query = decodeURIComponent(...続きを読む

Aベストアンサー

document.getElementById('in_name').value = query;



window.onload=function(){
document.getElementById('in_name').value = query;
}

としてください

Q光の三原色と色の三原色が異なるのは何故ですか?

光の三原色と色の三原色が異なるのは何故ですか?

光でも色でも、目に入るときは、一定の波長を持った光線として入ってくるのだから、同じになるような気がするのですが、何故違うのでしょうか?

例えば、赤、青、黄の絵の具から反射で出てくる光線は、赤、青、黄ではないのでしょうか?

Aベストアンサー

絵の具の場合、赤は赤以外の色を吸収します。(赤い光だけ反射)
同様に青・黄もそれ以外の色を吸収します。

全部混ぜ合わせると、赤い絵の具の成分がせっかく赤い光を反射しても
他の絵の具が赤い光を吸収してしまい、その結果赤い光が反射されなくなってしまいます。
同じ理由で青・黄の光も吸収されてしまい、
どの色の光も等しく吸収されてしまう(=どの色も反射しない)ため
どの色の光線も目に入ってこないので黒く見えてしまうのではないでしょうか。


人気Q&Aランキング