LabVIEWで画像サイズを変更するには?

更新しました May 21, 2024

環境

ソフトウェア

  • Vision Development Module
  • LabVIEW

フロントパネル上の画像サイズを変更する必要があります。この機能を行う際に使用できるオプションは何ですか?

LabVIEWベースパッケージ、開発システム、またはプロフェッショナル開発システムの開発環境単体では、画像操作用のビルトインVIはありません。

しかしながら、2Dピクチャ制御器のズーム係数プロパティノードを使用して、画像サイズを変更することができます。たとえば、ズーム係数が0.5の場合、画像は元の解像度の半分で表示されます。2Dピクチャ制御器の描画範囲サイズプロパティノードを使用して、画像サイズに合わせて画像をカスタムイメージコンテナに配置することもできます。

また、Vision Development Moduleは複数のカメラに対して画像処理が行えます。


 

ピクチャ制御器に収まるように画像サイズを変更する:

使用できる最大ズーム率を調べるには、ピクチャ制御器の高さと幅をそれぞれ画像の高さと幅で除算する必要があります。これら2つの商のうち最小のものは、画像全体を見えるようにしながら使用できる最大のズーム計数です。 

下図は、このプロセスのフロントパネルとブロックダイアグラムを示しています。

 



 

画像に合わせてピクチャ制御器のサイズを変更する:

別の方法として、2Dピクチャ制御器の描画範囲サイズプロパティノードを使用して、プログラムを元の解像度で表示するようにプログラム的に制御器のサイズを変更することもできます。下図は、このプロセスのフロントパネルとダイアグラムを示しています。

 



 

サイズ変更した画像をファイルに保存する:

2Dピクチャから画像データを返す画像を取得というピクチャ制御器のインボーグノードを使用するがあります。これにより、ズーム係数を調整してサイズ変更した画像データを取得し、保存に使用できます。画像データは、JEPGファイル、PNGファイル、またはBMPファイルに書き込むVIを使用してファイルに書き込むことが可能です。

ただし、この方法では画像が大きく歪む可能性があります。画像データのサイズを変更する方法としては、LabVIEW Vision Development Moduleが提供する関数を使用することをお勧めします。 LabVIEW Vision Development Moduleの詳細については、関連リンクを参照してください。


 

手動で画像サイズを変更する、または配列として再サンプリングする(上級):

画像サイズを変更する独自のアルゴリズムを記述することもできますが、これは難しい作業です。 LabVIEW開発システムおよびプロフェッショナル開発システムでは、画像をインポートしてピックスマップに変換することができます。

ピックスマップは、画像が持つ個々のピクセルカラー値に対応する2D数値配列です。適切なファイル形式を読み取れるJEPGファイル、PNGファイル、またはBMPファイルを読み取るVIを使用してLabVIEWに画像をインポートすることで変換が行えます。

LabVIEWに画像を読み取ることで、ピックスマップを非平坦化VIを使用して画像情報をピックスマップに変換できます。LabVIEW開発システムおよびプロフェッショナル開発システムでのみ使用可能なこれらのVIは、関数>>グラフィックス&サウンド>>グラフィック形式パレットにあります。

画像をピックスマップとして取得したら、それを配列として扱い、画像を変更する配列操作を行うことができます。この時点で、ピックスマップを操作して画像サイズを変更するための独自のアルゴリズムを作成する必要があります。元の画像よりも大きな画像で置き換えることができない画像のサイズ変更は、必然的にいくつかの情報を失うことに注意してください。例えば、隣接する画素の色を平均化することは、ハードエッジをぼかす傾向があり、エッジ検出をより困難にする可能性があります。画像を再サンプリングすることは、依然として効率と正確性とのトレードオフを伴う研究の活発な分野です。予測可能な結果のために、Vision Development Moduleは画像のサイズ変更または再サンプリングのためのツールを提供します。

ピックスマップを平坦化VIを使用してピックスマップを平坦化して画像データに戻し、JEPGファイル、PNG、またはBMPファイルに書き込むVIを使用してファイルに保存できます。


Additional Information

サードパーティ製ソフトウェア:

また、Adobe PhotoshopやACDSeeなどのサードパーティの画像ソフトウェアを使用して、画像操作を行うこともできます。そのようなパッケージの中には、LabVIEWからプログラムで制御できるActiveXインターフェイスを提供するものもあります。