【LabVIEW】Webサイト上の画像を表示&ダウンロード
LabVIEWを使用して、Webサイト上にある画像をフロントパネルに表示するVIと、プログラムを改造してファイルとしてダウンロードが出来る状態に変更をしたプログラム例を紹介しています。
- LabVIEWでの「Webサイト上にある画像の表示&ダウンロード」VIの解説
Webサイトの画像を表示&ダウンロード入手先
今回紹介するVIは「Download An Image From A Website And Show It On A LabVIEW Frontpanel」というVIです。訳すと「Webサイトの画像をダウンロードしてLabVIEWのフロントパネルに表示」となります。
VIはLabVIEWのフォーラムからダウンロード出来ます。
ダウンロードしたVIの中身は下記のようになっています。
Webサイトの画像を表示&ダウンロードVIの解説
「Webサイトの画像を表示&ダウンロードVI」の中身を4つに分けて解説を行っていきます。
一時ファイル保存パス
- フロントパネルの制御器(画像URL)に画像のURLを入力します。
- 一時ファイルパスを作成するために、画像のファイル名だけを取り出します。
- 画像URLのファイル名を前後逆にします。
例:http://aa/bb/cc.jpg⇒gpj.cc/bb/aa:ptth - 「文字列の検索と分割関数」を用いて、画像ファイル名を取得します。
URLの場合、「/(スラッシュ)」でディレクトリ構造が区切られているため、
「/(スラッシュ)」で検索を行いスラッシュよりも前にある文字列を取り出します。
例:gpj.cc/bb/aa:ptth(赤文字部分が取り出される) - 再度文字列を逆転させることで、本来のファイル名に戻ります。「cc.jpg」
- 一時ディレクトリパスと組み合わせることで、OS上の一時ファイルフォルダに画像が保存されます。
※一時ファイルディレクトリパスを変更することで任意の場所に保存出来ます。
Webから画像ファイルを取得する
Webから画像ファイルを取得するために、「HTTPクライアント関数」を使用します。
※ライセンスによっては使用することが出来ません。CommunityEdition版はプロフェッショナル相当であるため使用できる関数です。
- HTTPのハンドルを開きます。
- GET関数に取得したいファイルのURLを入力します。
ファイルを出力する必要があるので「出力ファイル」端子に一時パスを入力します。 - GET関数で無事にファイルを取得した後、HTTPのハンドルを閉じます。
※画像ファイルのURLが間違っていたり、ログインパスが必要な所にある画像ファイルは取得することが出来ないためGET関数でエラーが出力されます。
読み取った画像ファイルを表示&削除
- GETした画像ファイルの拡張子をLabVIEW標準のファイルI/O⇒上級関数にある「ファイル拡張子を取得」関数を使用してファイルの拡張子を取得します。
- 取得した拡張子ごとに「画像データの読取」関数を変更します。LabVIEWの場合標準で読み取ることが出来る画像ファイルは「BMP」、「JPG、JPEG」、「PNG」ファイルの3種類だけです。
- 読み取った画像データを「平坦化ビックスマップ描画」を使用して、ピクチャデータに変換します。
- 同時に一時ファイルパスとして保存されていた画像ファイルを削除します。
※ファイル削除関数を削除することで、DLした画像ファイルを削除せずに残しておくことが出来ます。 - エラーが発生している場合はシンプルエラーで出力されます。
注意事項
※連続して画像ファイルをダウンロードするようなプログラムを組むと、アクセス先のサーバーに多大な負荷を与えます。迷惑なので行わないでください
ディスカッション
コメント一覧
とても参考になりました。
感謝申し上げます。