プロが教えるわが家の防犯対策術!

今VB6で画像(RGB)から(YIQ)に変換し各Y・I・Qの情報を画像として抽出したいのですが方法がわかりません。抽出した各情報をグレースケール(モノクロ)で表示する方法がわかる方がいましたら、お力をお貸しください。よろしくお願い致します。

A 回答 (2件)

お示しのURL行列を見た限りでは


Iは 水色から赤色へのグラデーション
Qは 緑色から紫へのグラデーション
ともに数値が0に近づくに従い RGBは0.5(つまり256階調なら128)に近づくようにすればいいのかも ・・・
お示しのURLのカラーパレットで見ると少し違うようですが

カラーパターン(RGBの原色またはCYMの原色)といったもののサンプルが無いか確認されてみてはいかがでしょう
    • good
    • 0

RGBの取得には PictureBoxやFormにイメージを表示して


Pointメソッドを使えば取得できます
取得したデータ(LONG型)は BGRの順で並んでいます

RGB = POINT(x,y)
B = RGB / &H10000
G = (RGB / &H100) And &HFF
R = RGB And &HFF
で分解します
YIQへの変換は
Y = 0.2990 * R + 0.5870 * G + 0.1140 * B
I = 0.5959 * R - 0.2750 * G + 0.3210 * B
Q = 0.2065 * R - 0.4969 * G - 0.2904 * B
といった具合でしょう

RGBによるグレースケールなら RGB重み付けを加味しながら加算し平均をとればいいように思います
単純に色情報の平均なら
Gray = ( R + G + B ) / 3
重みを考慮するなら
Gray = ( 0.3 * R + 0.5 * G + 0.2 * B )
といった具合でしょう

この回答への補足

お返事ありがとうございます。
私の質問のしかたが悪かったようで「Y」成分でグレースケールを抽出する事はできるのですが「I」、「Q」の成分を画像化したいのです。「Y」は輝度情報が取得でき、そのままRGB関数に変数で受け渡せば使えるのですが「I」と「Q]はそのままでは画像にできない数値になっていました。具体的にこのサイトのような一枚の画像から各成分の画像を抽出したいのです。「http://en.wikipedia.org/wiki/YIQ」(勝手にリンクを貼り付けてゴメンなさい!)。
お手数かけますが分かりましたら宜しくお願いいたします。

補足日時:2008/01/04 15:01
    • good
    • 0

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