From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.



Archived: 「IMAQ Draw」関数は、指定した色と別の色で長方形などを作成します。どのように指定すれば指定の色になりますか?

This document has been archived and is no longer updated by National Instruments



使用ソフトウェア:
使用ソフトウェア・バージョン: N/A
使用ソフトウェア・バージョンに特化: N/A
二次のソフトウェア: N/A

問題: LabVIEWバージョン7.xとIMAQ Visionバージョン7.0を使用して、画像処理を行なっています。「IMAQ Draw」関数を使用して形状物体を画像に追加しようしています。「IMAQ Draw」関数の「Pixel Color」の端子が形状物体の色を指定できるはずですが、「カラーボックス定数」や「フレーム付きカラーボックス」を繋げて指定した色と異なる色が描かれます。例えば赤色の長方形を指定しますと、青色の長方形が作成されます。どのようにすれば指定した色になりますか?

解決策: この問題の原因は、プログラム上「IMAQ Draw」関数の「Pixel Color」の端子は形式がBGR(青・緑・赤)となっていることです。
そして他の関数(例:「IMAQ Overlay Rectangle」や「カラーボックス定数」や「フレーム付きカラーボックス」など)はRGB(赤・緑・青)形式になっています。
ですから、「カラーボックス定数」や「フレーム付きカラーボックス」を「IMAQ Draw」関数に繋げますと、赤と青が逆転します。赤色は16進数で0xFF0000(RGB形式)になりますが、この値を「IMAQ Draw」関数に繋げますと16進数で0x0000FF(RGB形式)、青色として表示されます。

「カラーボックス定数」や「フレーム付きカラーボックス」で指定した色にするには、プログラム的にRGB形式からBGR形式に変換する必要があります。
添付しているRGBtoBGR.viをサブVIとして使用しますと、
「カラーボックス定数」や「フレーム付きカラーボックス」からのU32の16進数を値サブVIに入力しますと、
RGB形式からBGR形式に変換します。

関連リンク:
日本ナショナルインスツルメンツ:画像入力・処理(IMAQ) サポート

添付:


RGBtoBGR.vi - RGBtoBGR.vi


報告日時: 09/01/2004
最終更新日: 03/28/2001
ドキュメントID: 3D06BCKD