製品・サービス
画像処理ライブラリ WIL
C#でのプログラミングに好適な画像処理ライブラリ
WILは画像処理アプリケーションプログラム開発用ソフトウェアライブラリです。Microsoft Visual Studio / .NET Framework 4.5.2~4.8(C#, Basic)またはネイティブC++を利用したプログラミングが可能なクラスライブラリ群です。
特にC#での開発に好適で、従来から培った画像処理技術を包含しながら新しい技術を取り込み発展させ、使い勝手や開発効率を向上させた画像処理ライブラリです。
特長
豊富な画像処理機能
標準機能としてカラー・濃淡・2値変換、色空間変換、幾何変換、空間フィルタ、モルフォロジ、画像間演算、論理演算、ヒストグラム、エッジ検出、直線&円ハフ検出、ブロブ解析、サーチ、キャリパー、最小自乗法、ロバスト推定、1D・2Dコード認識など豊富な機能を包含しています。またオプション機能としてキャリブレーション、3D(3次元)処理、GPU処理など、画像処理に必要な機能を網羅しています。
【サーチ】
【シェーディング画像の動的2値化】
クラスライブラリの採用、C#での開発に好適
Windowsアプリケーションの開発で広く使用されているMicrosoft Visual Studio に対応しており、.NET Framework 4.5.2~4.8(C#, Basic)またはネイティブC++を対象としたクラスライブラリを採用しています。特にC#で開発するのに好適な設計がなされています。オブジェクト指向的なプログラミングが可能であり、再利用性が高く、開発効率を向上できます。
C言語での開発も可能
WILを構成している低位のベースライブラリ「FIE(FAST Image Engine)ライブラリ」も公開しています。FIEはC言語関数のライブラリで、アプリケーションソフトウェアをC言語で構築する際には便利なライブラリです。
画像処理アプリケーションソフト作製が容易に
画像処理操作を統一し、どのクラスも同様の使用方法で取り扱えるようにすることで、ユーザー・アプリケーションプログラム作製を容易にしています。
柔軟な画像管理メモリの採用
画像サイズおよびビット深度を可変とし柔軟性を持たせています。これにより異なる画像入力ボードの搭載、分解能や機種が異なるカメラの接続と画像入力が容易になっており、8ビット(256階調)を越える多ビット画像での空間フィルタ処理などにも対応しています。また、外部で確保されたメモリをWILの管理メモリとして取り入れる機構を持ち、他社製画像入力ボードとの組み合わせも容易です。
カメラ設定ファイルの採用
対応カメラの設定情報を別途ファイルとして提供します。これにより迅速なカメラ対応が可能になります。当社製画像入力ボードを別売りで提供し、豊富なアナログ/デジタルカメラが利用できます。
マルチスレッド環境への対応
WILは再入力可能(リエントラント)なコードになっています。よってアトミック性が確保されていれば(WIL自身はデータの相互排他制御を行っていないため、ライブラリを使用するユーザー側が相互排他を行えば)複数スレッドで使用することが可能です。
マルチコアへの対応
PCの性能を最大限に利用し、画像処理の高速化を図ることができます。
64bit対応
Windows 7/10 の 32bit版、および Windows 7/10 の 64bit版に対応しています。
64bitなら4GB以上のメモリ空間が利用できるため、例えば16K画素以上のラインカメラ等で取り込んだ大容量画像を複数枚確保しての処理も可能になります。
当社製画像処理装置で実行可能
WILを使用して開発したアプリケーションソフトウェアは、一般市販PCのみならず、WIL組込型の当社製画像処理装置でも実行できます。(ただし、プログラム開発時に利用したWILと、画像処理装置に組込まれているWILは同バージョンであること。)
オプションライブラリ
ビデオ入力ソフトウェア
当社製画像入力ボードを使用してカメラから画像を取り込み、PCの内部メモリへ画像情報を転送するライブラリです。当社製画像入力ボードにて画像取り込みを実行する場合は必須のライブラリです。
キャリブレーションソフトウェア 〔有償オプションライブラリ〕
カメラ画像の歪み補正やカメラ座標系をワールド座標系へ変換する2次元用のライブラリです。
本ソフトウェアを利用する場合は、標準ソフトウェア開発キットまたはランタイムライセンスが必須となります。
FGA(FAST GPU Accelerator)ソフトウェア 〔有償オプションライブラリ〕
NVIDIA社のGPUボードを利用し一部の画像処理を高速化することができます。C言語形式プログラムにて利用でき、先述した「FIEライブラリ」と互換性を持っているため併用や移行が容易です。下表は平均化フィルタ処理を実行した場合のCPU処理とGPU処理の速度比較表です。
使用PC:Windows 10Pro /メモリ16GB/ PCI Express 3.0 x16
画像サイズ(pixel) | CPU intel Core i5-6500 | GPU NVIDIA RTX 2080Ti | 性能比 | |
---|---|---|---|---|
2047×2048 濃淡画像 | 10.4 ms | ・データ転送(行き) | 0.8 ms | |
・カーネル処理 | 0.09 ms | 約115倍 | ||
・データ転送(戻り) | 0.8 ms | |||
Total | 1.69 ms | 約6.1倍 | ||
4096×4096 濃淡画像 | 41.9 ms | ・データ転送(行き) | 3.2 ms | |
・カーネル処理 | 0.23 ms | 約182倍 | ||
・データ転送(戻り) | 3.4 ms | |||
Total | 6.83 ms | 約6.1倍 |
[ 平均化フィルタ5x5処理のGPU vs CPU速度比較例 ]
※ 本ソフトウェアを利用する場合は、標準ソフトウェア開発キットまたはランタイムライセンスが必須となります。
※ FGAライブラリは、NVIDIA社の開発環境CUDA、NVIDIA社のGPUボード、当社のWILそれぞれ一定のバージョンの組み合わせ下で利用することができます。また、これらのバージョン管理はユーザー様側でも必要となります。
詳しくは当社営業へお問い合わせください。
WILのプログラム例
WILで作られたサンプルプログラムの処理例をご紹介します。
サーチパラメータ設定支援(ベンチマーク)
パラメータ調整ボタン(①)を押下するとパラメータ値を内部で自動的に変更しながらサーチを連続実行。
結果グラフ表示エリア(②)上で指標ライン(③)を左右にスライドさせると、そのライン位置で示すサーチ結果(スコアや処理時間)になった時のパラメータ値(④)を連動表示します。
2次元エッジ
微分処理によるエッジ抽出
2値画像計測
個数、重心、面積などを計測しています。
FPM
幾何情報を使ったパタンマッチング処理で、十字マークを見つけています。
バーコード認識
バーコードの読み取りです。
極座標変換
四角形を円形に置き換えています。
細線化
黒画像を細線化しています。
円ハフ
ハフ変換による円検出を実行しています。
直線ハフ
ハフ変換による直線検出を実行しています。
オペレーション
C#で作られたWIL Sampleです。ポップアップメニューから操作できます。
WILの商品構成
標準ソフトウェア 開発キット& ランタイムライセンス |
機能 | メモリアクセスなど最も低位なライブラリから始まり、サーチやブロブ計測など基本的な画像処理機能から、バーコード認識など応用的な画像処理機能までを包含したライブラリです。 |
---|---|---|
備考 | 何らかの画像処理を行う場合は必須のライブラリです。下記以降のオプションソフトウェアを利用する場合にも必要です。 | |
ビデオ入力ソフトウェア 開発キット& ランタイムライセンス |
機能 | カメラからの画像を取り込み、PCの内部メモリへ画像情報を転送するライブラリです。 |
備考 | 弊社製画像入力ボードを使用して画像取り込みを実行する場合は必須のライブラリです。 | |
キャリブレーションソフトウェア 開発キット& ランタイムライセンス |
機能 | カメラ画像の歪み補正、あるいはカメラ座標系をワールド座標系に変換するためのカメラキャリブレーションライブラリです。 |
備考 | 必要な場合に任意にご購入頂く有償のオプションソフトウェアです。 | |
3次元計測ソフトウェア 開発キット& ランタイムライセンス |
機能 | 光切断法を使用し、対象物を立体として捉えるための3次元情報を抽出するライブラリです。 |
備考 | 必要な場合に任意にご購入頂く有償のオプションソフトウェアです。※ Version2.x系のみに対応しています。Version3.x系は未対応です。 | |
FGAソフトウェア 開発キット &ランタイムライセンス |
機能 | NVIDIA社のGPU(Graphics Processing Unit)ボードを利用した画像処理高速化ライブラリです。パフォーマンスが圧倒的に向上します。 |
備考 | 必要な場合に任意にご購入頂く有償のオプションソフトウェアです。WILを構成する低位ライブラリFIEと同じC言語形式プログラムで利用できます。ご利用に当たっては一定の条件(先述)があります。 |
開発支援ツール WIL-Builder
開発支援ツール
WIL-Builderは、画像処理ライブラリWILの各機能をフローエリアに配置して行くことで画像処理フローを構築し、実行できるソフトウェアです。I/O制御や外部に同期した動作が可能ですので、出来上がったプログラムはそのままアプリケーションソフトウェアとして利用することも可能です。
ソースプログラムのエクスポート機能やユーザ独自ライブラリ(DLL)のプラグイン機能なども搭載しています。ユーザのアプリケーションソフトウェア開発を支援する開発者向けのソフトウェアツールです。
WIL-BuilderはWIL標準ライブラリのインストールと同時に自動的にインストールされます。
開発支援ツールWIL-Builderの特長
ソフトウェア開発者に最適なツール
WIL-Builder はWIL Version3.0.0以降から提供を開始した開発者向けソフトウェアツールで、ユーザのプログラミング作業を軽減および支援するものです。これを利用することでアプリケーションソフトウェア開発の効率性がさらに向上します。
従来から提供しているWIL-Navigatorは評価・試行を主目的にした初心者向けツールでしたが、それに比べWIL-Builderは機能がより豊富になった開発者向けのプログラミング支援ツールです。WIL-BuilderはWIL標準ライブラリのインストールと同時に自動的にインストールされます。
簡単操作
評価・試行プログラム程度のものであればプログラム言語を使うこともなく、マウスボタン操作だけで画像処理フローを作ることができ、ライブラリの各機能を試行・実感して頂く事ができます。パラメータ値も柔軟・詳細に設定できます。
初期コストを低減
画像処理アプリケーションソフトウェアを作製する場合の初期コスト(工数など)を低減できます。
条件分岐が可能
画像処理フローは、各タスクを1次元的に並べて逐次処理するだけではなく、条件分岐も設定できます。
外部との同期・連携
シリアルあるいはデジタルI/Oでの通信制御ができるため、画像処理フローは通信により外部と同期・連携したフロー動作が可能です。
ソースコードの生成
画像処理フローの一部はソースコード生成が可能ですのでコーディング作業を大幅に軽減できます。
プラグインが可能
アプリケーション開発過程でユーザ自作のライブラリ(DLL)ができた場合、それを他のアプリケーション開発時にプラグインし再利用することができます。
ベンチマーク機能
特徴量(スコアや検出個数など)を出力する一部のタスクではベンチマークを得ることができます。例えばサーチでは、ベンチマーク結果グラフからパラメータの最適値をある程度見極めることが可能になり、試行錯誤を盲目的に繰り返さなくても済みます。
画像評価によく使う機能はボタンをクリックするだけ
画像の濃度分布を見るのに有効なA-Scope(濃度波形)、ヒストグラム、プロジェクション、グリッド付き表示倍率変換などの単機能はメニューボタンを1回クリックするだけですぐに利用できます。
ドキュメントダウンロード
-
各種ドキュメントダウンロード
ファースト製品に関連した取扱説明書などのドキュメント類をダウンロードできます。
-
サンプルプログラムダウンロード
ファーストのソフトウェア製品を使用して作成したサンプルプログラムをご提供しています。
-
カメラ設定ファイルダウンロード
当社の画像処理ライブラリと組み合わせてお使いいただける画像入力ボードを豊富にご用意しております。
-
インストーラーダウンロード
ファースト製品に関連した取扱説明書などのドキュメント類をダウンロードできます。
-
ファースト製品 FAQ
ファースト製品に関するご質問の中で、よくあるものについての解答をまとめました。
論文・特許
論文
- 2007年3月:幾何学マッチングに用いるエッジ抽出方法の紹介およびエッジ抽出パラメータ/テンプレート設定自動化手法の紹介(DIA2007)
- 2006年12月:シグモイド関数との相関によるエッジ抽出 (VIEW2006)
- 2006年2月:FAにおける画像分析・認識手法の導入例
- 2006年1月:A New Object Detection Technique Based on Geometric Hashing
特許
- 特許第3884468号
- 特許第3884462号
- 特許第4181210号
- 特許第4205760号
- 特許第4374068号