1. HOME
  2. ファースト製品 FAQ

ファースト製品 FAQ

ファースト製品に関するご質問の中で、よくあるものについての解答をまとめました。

 

画像処理ライブラリ WIL

全般

WILとは何ですか?

Visual Studio 2013~2022に対応しておりネイティブ C++ または .NET Framework (C++, C#, Visual Basic) を利用した画像処理アプリケーションプログラムの開発を支援するクラスライブラリ群です。(Ver WIL 3.1.0.14)


WILの対応OSは何になりますか。

WIL 3.1.0.14の対応OSは以下になります。

Windows 7 Home Basic(SP1)
Windows 7 Home Premium(SP1)
Windows 7 Professional(SP1)
Windows 7 Ultimate(SP1)

Windows 10 Home(Version 22H2)
Windows 10 Pro(Version 22H2)
Windows 10 Enterprise(Version 22H2)
Windows 10 Enterprise 2016 LTSB
Windows 10 Enterprise 2019 LTSC

Windows 11 Pro
Windows 11 Enterprise

※Windows 11 Pro および Windows 11 Enterprise は64bitのみ、他は32bit/64bitに対応

ご注意:WILの対応OSは、バージョン毎に変わりますので
ご使用のライブラリバージョンの対応OSについては、Readmeをご参照ください。


WILの説明書はどこにありますか?

WILをインストールすると、インストールフォルダ(例えば、WIL 3.1.0.0 の場合は、『C:\fast\WIL\3.1.0』となります。)
)のDocumentフォルダ内に生成されます。

WIL説明書はMFC アプリケーションの開発用「FVCL.chm」、.NET Framework アプリケーションの開発用「FVIL.chm」、FIEライブラリ説明書は「FIE.chm」、リリースノート「ReleaseNote.chm」です。
スタート→すべてのプログラム→FAST WIL 3.x.0 からもアクセスできます。


WILの動作環境を教えてください。

Ver3.1.0.14の動作環境は、下記のとおりです。

EVC を使用する場合
開発環境に対応するランタイム(以下のいずれか)が必要です。[※1]
・Visual C++ 2013 … EVCbasic120 が対応します。
・Visual C++ 2015 … EVCbasic140 が対応します。

※ Visual C++ 2017、Visual C++ 2019、Visual C++ 2022 の場合は EVCbasic140 を使用します。

FVIL を使用する場合
開発環境に対応するランタイム(以下のいずれか)が必要です。
・.NET Framework 4.5.2 以降 及び Visual C++ 2013 ランタイム [※1]

※1) Visual C++ ランタイムのインストーラについては、 Microsoft 社の Web サイトからダウンロードしてください。
http://www.microsoft.com/ja-jp/download/default.aspx

•Visual Studio 2013 の Visual C++ 再頒布可能パッケージ
http://www.microsoft.com/ja-jp/download/details.aspx?id=40784
vcredist_x86.exe (32 bit 版)
vcredist_x64.exe (64 bit 版)

•Visual Studio 2015 の Visual C++ 再頒布可能パッケージ
http://www.microsoft.com/ja-jp/download/details.aspx?id=48145
vcredist_x86.exe (32 bit 版)
vcredist_x64.exe (64 bit 版)

•Microsoft .NET Framework Runtime
https://www.microsoft.com/net/download/visual-studio-sdks

Windows 10 や Windows 11 では、プリインストールされている .NET Framework 4.x より古いバージョンはインストールできません。
インストール方法については下記サイトを参考にしてください。
•.NET Framework のインストール
http://msdn.microsoft.com/ja-jp/library/5a4x27ek(v=vs.110).aspx

なお、動作環境はバージョンによって変わります。
他のバージョンの動作環境については、該当バージョンのリリースノートをご参照ください。


サンプルソフトはどこにありますか?

WILをインストールすると、インストールしたフォルダ内(例えば、WIL 2.0.0.0 の場合は、『C:\Program Files\FAST\WIL\2.0.0』となります。)のSampleフォルダに格納しています。


初期設定など、WILを使う手引きとなる資料はありませんか?

導入の手引きに、環境設定やプログラミング方法について解説しておりますので、そちらをご覧下さい。
プログラミングに関しては、各開発言語のリファレンスマニュアルのチュートリアルに記載されております。
そちらもあわせてご参照ください。


WILのダウンロードページに行くと「3.1.0.x」「3.0.0.x」と分かれていますが、これはどういうことですか?

Ver3.0.0、Ver3.1.0~の2桁目の数字は、WILのマイナーバージョンを表します。

マイナーバージョンの変更は、バージョンアップの際に機能やインターフェースが追加された事を意味します。 ソース互換は後方互換を保ちますが、バイナリ互換は保たれていません。 例えば 3.0.0.0 から 3.1.0.0 にバージョンアップした際は、 ユーザアプリケーションは、再コンパイルする必要があります。


日本語版以外のOSで動作しますか。

WILライブラリは言語に関係なく動作いたします。

したがって、使用したい言語にOSを設定変更し、そのままご使用いただくことが可能です。
対象の言語パックがない場合は、適宜インストールしてください。


fnFIE_load_bmpを使用しています。ファイル名が中国語の画像をロードしたいのですが、エラーになるのですが。

OSの設定変更(優先とする言語の設定)およびシステムロケールの変更を中国語にすることで可能になります。

■システムロケールの変更
1.[コントロール パネル]、[時計、言語、および地域]、[地域と言語] を選択します。
2.[管理] タブを開きます。
3.[Unicode 対応でないプログラムの言語] セクションで、[システム ロケールの変更] をクリックします。


汎用装置にインストールされている.NET Frameworkのバージョンを教えてください。

[FV2340-C7e32/W7e32]
.NET Framework 4.5.2
.NET Framework 3.5
.NET Framework 3.0
.NET Framework 2.0

[FV2340-C10e64/W10e64]
.NET Framework 4.6.2

[FV1410-C/W]
.NET Framework 4.7.2

[FV2330-W7e]
.NET Framework 4.0
.NET Framework 3.5
.NET Framework 3.0
.NET Framework 2.0


WILをWPFでアプリケーションを作成したいが対応していますか。対応していない場合、今後対応予定はありますか。

WPFについては対応しておりません。

今後の対応についてですが、現在は後継ライブラリ開発も視野に入れ社内検討を行っている状況です。


開発環境に入っているWILライブラリのバージョンと、ターゲットPCに入っているライブラリのバージョンが違います。問題なく動作しますか。

WILは、4セグメントでバージョンを表記しています。
MAJOR . MINOR . BUILD . REVISION

末尾のセグメント(REVISION)の更新は、バイナリ互換を保ち、原則として機能互換を保つ事を条件としています。そのため、再コンパイルなく動作します。

(例)3.1.0.0 から 3.1.0.1 にリビジョン更新した際は、ユーザアプリケーションは、再コンパイルすること無く使用する事ができます。
ただし広報互換のため、新しいバージョンでコンパイルされたアプリケーションは、古いバージョンでの動作はしませんのでご注意ください。

REVISION以外については、バイナリ互換は保たれていまませんので、再コンパイルが必要です。
MAJORが変わる場合は、ソース互換が断たれていますので、再コンパイルだけでなく、ソースコードの編集が必要になる場合があります。


リモートデスクトップで使用したいのですが、ライセンスエラーが解除されません。

リモートデスクトップに対応していないバージョンの場合、エラーになります。ご使用のバージョがリモートデストップ未対応バージョンの場合は、WILのバージョンアップにてご利用いただけます。

【対応バージョン】
・WIL 3.0系の場合、3.0.0.19から対応しています。

・WIL 3.1系の場合はすべてのバージョンでリモートデスクトップでのご使用が可能となっております。

WIL1.0系、2.0系をご使用のお客様は、対応しておりませんので、WIL 3.1系へのバージョンアップをご検討ください。


RTLとは何ですか。ライセンスキーとは違うのですか。

RTLは、WILライブラリを使用して開発された画像処理ソフトウェアを PC 上で実行させる際に必要なライセンスです。装置1台につき1つ必要です。

ライセンスキー(ドングルキー)は、装置のUSBコネクタに装着することで物理的にライブラリのライセンスを解除するものです。
キーを装着することで、プロテクトのかかっているライブラリが実行できるようになります。

WILライブラリのランタイムには下記のものがあります。
・WIL標準ソフトウェアRTL
・WILビデオ入力ソフトウェアRT
・WILキャリブレーションRTL【オプション】
・WIL FGAソフトウェアRTL【オプション】
・WIL推論ライブラリRTL【オプション】


画像処理装置(FV2xxx)のシステムを工場出荷状態に戻したいです、Windowsの回復機能で工場出荷状態に戻せますか?

工場出荷状態に戻すには、弊社にて作業を行う必要があります。
初期化を希望される際は、担当営業またはカスタマサポートまでご連絡ください。

尚、弊社では.net frameworkや画像処理ライブラリ、各種ドライバのインストールを行っています。
また、システムについても設定の変更を行っております。


WILの開発環境、開発言語は何ですか?

Microsoft Visual Studio 2013 Professional
Microsoft Visual Studio 2015 Professional
Microsoft Visual Studio 2017 Professional
Microsoft Visual Studio 2019 Professional
Microsoft Visual Studio 2022 Professional (x64)

※いずれも最新の Update を適用済みのもの

■開発言語
Windows ネイティブ アプリケーションを開発する場合
・Visual C++

.NET Framework アプリケーションを開発する場合
・Visual C#
・Visual Basic


構造体のメンバアライメントを既定値(8バイト)から変更すると、作成したアプリケーションが実行できません。

Ver1.1.0.0より、構造体のメンバアライメントを変更されてもコンパイル頂けるようになっております。
それ以前のバージョンでは、構造体のメンバアライメントは既定値の8バイトのみにしか対応しておりません。プログラム中の構造体に対して#pragma pack(n)等を使用し、コンパイルオプションは既定値でご使用ください。


インストール方法がわかりません。

WILライブラリのインストーラー:WIL.msiを実行し、ウィザードの指示に従って操作を進めてください。

WILのインストーラは、CD-ROM 又 は弊社ホームページのソフトウェアダウンロードページより取得が可能です。

WILライブラリダウンロードはこちら


ホームページにあるインストーラーは、Appendixと一緒にZipファイルで圧縮されていますので、任意のフォルダに保存後、解凍してご使用ください。

ホームページからWILをダウンロードしました。30日間無料で使用できるということですが30日経過すると使えなくなるのですか?

プロテクト機能により30日経過すると使用できなくなります。WILライセンスキーにより解除する事ができます。

アプリケーションの開発は可能ですが、実行するとプロテクトのかかっている関数でライセンスエラーが発生します。


インストールしているWILのバージョンが判りません。

【WIL 3.0以上】
ライブラリと一緒にインストールされるリリースノートより確認いただけます。

リリースノート確認方法:
「スタートメニュー」→ 「FAST WIL 3.x.0」 →「ReleaseNote」をクリックして開きます。

なお、リリースノートは、デフォルトインストールの場合、下記の場所にインストールされています。
“C:\FAST\WIL\3.x.0\Document”

【WIL2.0まで】
WILのインストールフォルダ(デフォルト:\Program Files\FAST\WIL)のDLLフォルダ下のx86もしくはx64フォルダ内にある、「WILversion.exe」にてバージョンを確認することができます。


バージョンアップの方法を教えてください。

必ず、古いバージョンのライブラリをアンインストールしてから、インストールを行ってください。

ライブラリのアンインストール方法は、WILライブラリのアンインストールプログラムを実行するか
Windows から提供されるアンインストールプログラムを使用してアンインストールを行います。

WILライブラリのアンインストールプログラムでアンインストールする場合:
「スタートメニュー」→ 「FAST WIL 3.x.0」 →「Uninstall WIL 3.x.0」を実行します。

Windows から提供されるアンインストールプログラムでアンインストールする場合:
【WindowsVista/7】
「コントロールパネル」→「プログラム」→「プログラムの追加と削除」より、
WILライブラリを選択し、アンインストールしてください。

【Windows10/11】
「コントロールパネル」→「プログラムの機能」→「プログラムのアンインストール」より、
WIL イブラリを選択し、アンインストールしてください。

インストーラーを使用せずにインストールしたいです。必要なdllのコピーだけで動作できませんか。

WILライブラリをご使用いただく場合、インストーラーによるインストーがは必ず必要です。
ファイルコピーだけではご使用いただけません。

お手数ですが、インストーラーを使用し、ライブラリの
インストールを行ってください。


サイレントインストールは可能ですか。

■サイレントインストールについて

WIL のインストーラ(WIL.msi)は、msiexec によって実行されます。
msiexec のコマンドラインオプションを使用することでサイレントインストールを行うことができます。
msiexec のコマンドラインオプションについては Microsoft 社のサイト(下記)をご参照ください。

http://technet.microsoft.com/ja-jp/library/cc759262(v=ws.10).aspx

——————————————————————————————–

書式およびインストール例

[書式]
msiexec [command] [installer] [option]
~~~~~~(1) ~~~~~~~~(2) ~~~~~(3)

1.command
/i,/fe,/x のようなインストール・アンインストールを指示するコマンド。

2.installer
WIL.msi などのインストーラのファイル名。

3.option
サイレントモードやログを指示するオプション。
※1) /qb- を指定するとプログレスバーは表示されますがモーダルダイアログを非表示にできます。
※2) “L* logfile.txt” のように指定するとログを保存します。

——————————————————————————————–

例) 新規インストール
msiexec /i WIL.msi /qb- /L* logfile.txt

※注意
Windows Vista 以降で UAC が有効の場合、
コマンドプロンプトを管理者権限で実行する必要が有ります。

また、WILライブラリをサイレントインストールする場合、
著作権に関しての注意事項がありますので、ご注意下さい。

■FIE ライブラリ
WILには、第三者が著作権を保有するプログラムが含まれます。
お客様がこれらのプログラムを再配布するには、
プログラムに付属する使用許諾契約の条項が適用されますので、
必ず当該条項に従うようにご注意下さい。

インストーラでインストールする際には、OSS利用に関する注意がでますが、
サイレントインストールの場合は表示されません。
OSS利用に関しては、エンドユーザ様に通知していただく必要があります。

OSSに関しては、デフォルトインストールフォルダの場合
C:\Program Files\FAST\WIL\3.1.0\Copyright\fvalg_oss_license.txt
にライセンス条項を格納しております。


WIL3.0.0とWIL3.1.0を同じ装置にインストールし、それぞれ使用することができますか。

はい、使用可能です。

先頭の2セグメント(MAJOR.MINORD)が異なる場合、同時にインストールいただけます。

WILの3.0から3.1へバージョンアップを検討しています。3.1で作成したアプリケーションはコンパイルすれば、3.1で使用できますか。

WIL 3.0.0.x と 3.1.0.x の場合、ソース互換ですのでリビルドすることで動作可能です。

▼詳細は下の詳しい『解説のファイルはこちら』をご参照ください。

ご注意:WIL 3.0 で作成された Windows フォームアプリケーションを WIL 3.1 へ移行すると、
画像ビューが貼り付けられたフォームをデザイナで開けない現象が発生します。

対処法として紹介している『DisplayConverter』のプロジェクトは、インストーラーに同梱「Appendix」内にあります。
“Appendix\Utilities\DisplayConverter”


ライセンスキーを挿してもライセンスが解除されません

新タイプ(ドライバーレス)のUSBキーの場合
WIL Ver3.0.0.25~ または WIL Ver3.1.0.6 からの対応になります。上記に該当しないバージョンをご使用の場合は、ライブラリをバージョンアップしてください。

旧タイプのUSBキーの場合
Windows10 1803以降 で WIL バージョン 3.0.0.18 未満をご使用の場合、
不具合によりライセンスの解除ができない場合があります。
ドライバが正常に動作しているにもかかわらず、ライセンスエラーになる場合は上記に該当している可能性がありますのでWILのバージョンアップをお試しください。

上記以外の場合は、下記の2点を確認ください。

(1)ドライバが正常に動作しているか。

【旧タイプ(ドライバの手動インストールが必要)のUSBキーの場合】
[コントロールパネル]→[システム]→[デバイスマネージャ]より、
USBコントローラ内で「SafeNet USB SuperPro/UltraPro」が正常動作しているかご確認下さい。

デバイスが動作していない場合は、ソフトウェアダウンロードページよりラインセンスキー用ドライバを取得後、インストールして下さい。

【新タイプ(ドライバーレス)のUSBキーの場合】
ヒューマンインターフェースデバイス内で、「USB入力デバイス」として表示されます。
なお、「USB入力デバイス」が複数存在し、見分けがつかない場合は 装着前と装着時で「USB入力デバイス」を確認ください。
装着した際に 追加された「USB入力デバイス」が該当しますのでこちらが正常に動作しているかご確認ください。

(2)ライブラリ付属の確認ツール:WIL-Diagnostics等でライセンスが解除されているか。

弊社のツールの確認では解除されている場合は、お作り頂いたプログラム内で、ライブラリの初期化(ライセンス解除が行われます)が記述しているかご確認ください。

初期化関数は、下記になります。
・FVCL(MFCアプリケーション)の場合「FVCL::InitVisionLibrary()」
・FVILの場合は「FVIL._SetUp.InitVisionLibrary()」


ライセンスが解除されているのかされていないのか判りません。

WILライブラリと一緒にインストールされる 診断ツール「WIL-diagnostics」にて確認いただけます。

Windowsのスタートメニューから FAST WIL 3.x.0 に進み『WIL-diagnostics』を実行します

ライセンスタブをクリックすると、各ライブラリごとのライセンス状況が確認いただけます。

開発したアプリケーションでライセンス状態を
確認したい場合は、ライブラリの状態確認関数を
ご使用ください。

パラメータに指定したビットのライセンの状態が確認できます。
オプションを1(試用期間を無視)に指定してご使用ください。

FVIL
FVIL._SetUp.CheckVisionLibrary

FVCL
FVCL::CheckVisionLibrary


ソフトを実行すると、実行時にエラーが発生し、エラーコード51(ライセンスが解除されていない)が出力されるのですが?

WILをお使い頂くには、動作するPCにライセンスキーを挿しておく必要がございます。


ライセンスキーのドライバがインストールできません。

下記の点をご確認下さい。
1.PCに、既にSentinel System Driver がインストールされていないか。
インストールされていましたら、一旦アンインストールしてからお試しください。

2.PCにライセンスキーが挿さっていないか。
ライセンスキーが挿さっていると、正常にインストールできません。

1.2をお試しいただいても解決しない場合は、ユーザーサポートまでお問い合わせください。


FIEライブラリのライセンスが解除されません。

WILライブラリのライセンスは解除されている場合:
FIEライブラリを使用するには、プログラム内で、
FIEライブラリの初期化を実行する必要があります。
fnFIE_setup()をコールしているか確認してください。

WILライブラリのライセンスは解除されていない場合:
ライセンスキーが挿入されていないか、
ライセンスキーのドライバがインストールされていないことが考えられます。

デバイスマネージャーを確認し、ライセンスキーが正常に認識しているか確認してください。


ライセンスキーを装着しているのに、ライセンスがないと表示されます。ライセンスが解除されていないのでしょうか。

試用期間中の表示がでるのは、ライセンスが解除されていない場合です。

よくある原因としては下記のものがございます。

(1)ドライバーが正常にインストールされておらず、ライセンスが認識されない
(2)WILライブラリのライセンスキーではなく別のライセンスである
(3)ライセンスキー自体が故障している
(4)リモートデスクトップで使用している  ※1
(5)ライセンス認証の不具合 ※2

まず、デバイスマネージャーを起動してライセンスキーが認識しているかご確認ください。

認識が問題ないがライセンスが解除されていない場合、
別のライセンスキーをお持ちの場合、差し替えてどうなるかお試しください。

※1
リモートデスクトップは、WIL 3.0.0.19からの対応しており、それ以前のバージョンではご使用いただけません。

※2 Windows 10 (1803) でプロテクトキー の認証が失敗する不具合を確認していおります。(WIL Ver 3.0.0.18で修正済み)


リモートデスクトップに対応していますか。

はい、対応しております。

WIL 3.0系では、バージョン 3.0.0.19からご使用可能です。

WIL 3.1系ではすべてのバージョンでご使用いただけます。


WILversion.exeのライセンス状況とWILdiagnostics.exe のライセンス状況が違います。

どちらかが正常動作していない可能性があります。

WILversion.exeおよびWILdiagnostics.exe は、それぞれ作業フォルダが決まっており、作業フォルダが変わると正常に動作しません。
exeのプロパティを表示し、作業フォルダを確認してください。

作業フォルダは下記になります。

◆WILdiagnostics
‐C:/FAST/WIL/3.0.0/dll
‐C:/FAST/WIL/3.1.0/dll

◆WILversion
‐C:/FAST/WIL/3.0.0/dllx86(またはx64)
‐C:/FAST/WIL/3.1.0/dllx86(またはx64)


 

画像処理ライブラリ WIL-Builder

WIL-Builderとは何ですか?

WIL-Builderは、画像処理ライブラリWILの各機能を配置していくことで処理フローを構築し、そのまま実行できるソフトウェアです。
プログラムを作らなくても、、WILの機能を実行することができます。また、作成したフローのソースコードを吐き出すことも可能です。

WIL-Builderは、WIL Ver3.0.0.0以降のインストーラーに含まれています。


WILのライセンスが切れても、WIL-Builderは継続使用出来ますか?

はい、ご使用いただけます。
WIL-Builderについては、ライセンスフリーでお試しいただけるようになっています。


WIL-Builderが起動しない。

WIL-Builderは、内部でFVILを使用していますので、FVILを使用する場合と同じ動作環境が必要になります。
その為、お使いの環境に合わせて必要なものをインストールしてください。

(例)
WIL 3.1系のWIL-Builderの動作環境の場合、
「.NET Frameworkの4.5.2以上」
「Visual C++ 2013のランタイム」が必要です。

必要な動作環境の詳細は、WILのリリースノートの下記に記載がありますのでご参照ください。
・目次より
はじめに→開発環境と動作環境


WIL-Builderを使う手引きとなる資料はありませんか?

WIL-Builderチュートリアルに、WIL-Builderの操作方法を解説したチュートリアルがありますので、そちらをご参照ください。

なお、WIL-Builderのマニュアルに関しましては、WILをインストール後、「スタートメニュー」の「FAST WIL 3.X.0」に「WIL-Builder Manual」の名称でWIL-Builder操作説明書がありますので、合わせてご参照ください。


WIL-Builderで、処理範囲を設定したい。

Function listの「データ操作」→「生成」内の「アタッチ」ノードにて、処理範囲の設定ができます。
詳細は、WIL-Builderチュートリアルの10頁、2.3項をご参照ください。


無限実行を行うと、そのうち、WIL-Builderが終了してしまう。

WIL-Builderは、実行の度に、統計データを保持しており、統計データの最大保持数が多い場合、大量にメモリが必要になります。
その為、状況によっては、メモリ不足になり、WIL-Builderが終了する事があります。

統計データの最大保持数を減らす事により、メモリ消費量を抑える事ができますので、プロジェクト設定の「StatisticsMaxCount」の設定値を減らしてください。
詳細は、「WIL-Builder操作説明書」の14頁「1-2項.プロジェクト設定」をご参照ください。


起動する度、プラグインファイル(dll,exe)をOpenしなくてすむ方法はありませんか?

「マイ ドキュメント」の「WIL-Builder 3.X.0」フォルダに、プラグインファイル(dll,exe)を入れると、WIL-Builderの起動時に自動的にOpenします。


作成したワークフローを保存したい。

メイン画面ツールバーのFileメニューにある「Save Workflow」にて、Taskタブのワークフローをbffファイルに保存する事ができます。

Fileメニューについては、「WIL-Builder操作説明書」の13頁「1-1項.Fileメニュー」をご参照ください。


トリガモードで撮像する方法はありますか?

設定したカメラ設定ファイルを右クリックしてコンテキストメニューを表示し Propertyを選択して開いた「Grabber Property」にある「Trigger」項目の値を変更する事でトリガモードで撮像する事ができます。
「Trigger」項目の許容値は「0:ノーマルモード、1:内部トリガ、2:外部トリガ」となっておりますので、「1」の内部トリガか、「2」の外部トリガに変更してお使いください。


複数の画像ファイルを追加した際、実行の度に、処理対象の画像ファイルを切り変える方法はありますか?

画像ノード、もしくは、ファイル読み込みノードのプロパティグリッドにある「Index Mode」項目を「Sequential」に変更する事で、実行の度に、処理対象の画像ファイルが順次切り替わります。

なお、「Fixed」は、画像ファイルの固定、「Sequential」は、画像ファイルの順次切り替え、「Random」は、画像ファイルのランダム切り替えになります。


ノード間の入出力が、ある時から自動的に接続されなくなった。自動的に接続するには、どうしたらよいのでしょうか?

Auto Linkボタンを押下してください。

詳細は、「WIL-Builder操作説明書」の86頁「4-1-6項.Auto Link」をご参照ください。


シリアル通信を使用したコマンド送信方法がわかりません。

以下の様な流れでコマンド送信ができます。
(1)SerialPortノードから、COMポートを追加します。
(2)接続しているカメラに合わせて、SerialPortの設定を行います。
(3)追加したCOMポートから、SerialPortダイアログを表示します。
(4)「Send」ボタンでコマンドを送信します。


Function list内のどこに目的の処理のノードがあるかわかりません。

Function listのメニューにある「Search」ボタンを押下すると検索用テキストボックスが表示されますので、キーワードを入力して検索してください。

詳細は、「WIL-Builder操作説明書」の99頁「5-1-4項.検索(Searchボタン)」をご参照ください。


作成したワークフローをアプリケーションの作成に活用できませんか?

ワークフローをソースコードとしてファイルに保存する「Save Source Code」と言う機能が活用できます。
メイン画面ツールバーのFileメニューにある「Save Source Code」の「Source setting」から「C#」もしくは「Visual Basic」タブを押下し、生成されるソースコード内の「Execute」部に、パラメータの設定、関数の使用方法等の記述がありますので、アプリケーション作成の参考になるかと思います。

「Save Source Code」の詳細は、「WIL-Builder操作説明書」の84~85頁「4-1-5項.Save Source Code」をご参照ください。


Function listの各ノードの機能説明はありませんか?

Function listのメニューにある「Hint」ボタンを押下すると「Hint」ダイアログが表示されます。
そのダイアログの「Features」タブにて、実装クラスや関数一覧が表示され、「Remarks」タブにて、ノードと入出力の説明が表示されますのでご参照ください。

「Hint」ボタンの詳細は、「WIL-Builder操作説明書」の97~98頁「5-1-3項.ヒント(Hint ボタン)」をご参照ください。


ワークフロー実行後、元画像の上に、結果を表示させる事はできませんか?

「Task」タブのツールバーにある「Display Setting」ボタンを押下すると「Display Setting」ダイアログが表示されます。
このダイアログのチェックブックスの設定で、ワークフロー実行後の画面表示の変更が行えます。

「Display Setting」ボタンの詳細は、「WIL-Builder操作説明書」の81~82頁「4-1-3項.Display Setting」をご参照ください。


ノードの「Hint」ダイアログに「複数の機能を持ちます。」と表示されるが、ノードの機能の切り替え方がわかりません。

Taskタブの下段のプロパティグリッドにある、Prevボタン、Nextボタンをクリック、もしくはプルダウンメニューにて切り替える事ができます。
詳細は、WIL-Builderチュートリアルの9頁をご参照ください。


作成したワークフローを一時的に退避させる事はできますか?

Taskタブのツールバーにある「Save Temporary」ボタンにて、現在のワークフローを一時的なメモリに保存できます。
Function list内の「Temp」ノードに一時保存されますので、必要になりましたら復元してください。

詳細は、「WIL-Builder操作説明書」の83頁「4-1-4項Save Temporary」、104頁「5-2-8項Temp」、105頁「5-2-9項Method」をご参照ください。


処理の結果を次の処理に使用する事はできますか?

XXXデータ、XXX特徴量、プロパティ等のノードにて、結果等からデータを抽出して、以降のノードに渡す事ができますので、こちらをご利用ください。

ブローブ特徴量の例は、WIL-Builderチュートリアルの17頁~20頁「3.1.4 ブローブ特徴量の取得」に記載が、プロパティの例は、WIL-Builderチュートリアルの71頁~72頁「5.1.2 画像オブジェクトの生成」に記載がありますのでご参考にしてください。

XXXデータ、XXX特徴量、プロパティ等のノードにて、結果等からデータを抽出して、以降のノードに渡す事ができますので、こちらをご利用ください。

ブローブ特徴量の例は、WIL-Builderチュートリアルの17頁~20頁「3.1.4 ブローブ特徴量の取得」に記載が、プロパティの例は、WIL-Builderチュートリアルの71頁~72頁「5.1.2 画像オブジェクトの生成」に記載がありますのでご参考にしてください。


2値ブローブ解析にて、検出するブローブの条件を変更する方法がわかりません。

「2値ブローブ解析」ノードのTaskタブ中段のツールバー(2)にある青いカーソル(Prevボタン、Nextボタン)をクリック、もしくは、リストボックスにて、「Detail」に変更し、プロパティグリッドにある「Parameter.Filter」内の「Filter Ranges」の設定で変更する事ができます。

Prevボタン、Nextボタン、リストボックスの詳細は、「WIL-Builder操作説明書」の88頁、4-2項「ツールバー(2)」をご参照ください。


処理の結果等を画像ビューに表示させる事はできますか?

Function listの「データ操作」→「診断ツール」内の「オーバレイ表示(文字列)」ノードにて、指定されたデータを画像ビュー上に表示する事ができます。

WIL-Builderチュートリアルの62頁~68頁「4.3 条件分岐について」に使用例の記載がありますのでご参考にしてください。


画像ビューに表示されている処理の結果を含めて、画像に保存できますか?

画像ビューでマウスを右クリックすると表示される「画像ビューメニュー」内の「File」にある「Save image with overlay」で保存できます。

詳細は、「WIL-Builder操作説明書」の33頁、2-2項「Fileメニュー」をご参照ください。


2値ブローブ解析やグレイサーチなどで、複数個の結果が得られた場合に、全ての結果データを扱うにはどうしたら良いですか?

Function listの「データ操作」→「配列」内の「配列走査」ノードを使用する事により、全ての結果データを扱う事ができます。

WIL-Builderチュートリアルの60頁「4.1 配列走査について」に使用例の記載がありますのでご参考にしてください。


ある処理のみを、繰り返し実行する方法はありますか?

Function listの「データ操作」→「制御構文」内の「繰り返し」ノードにて、指定した回数分、繰り返して処理を行う事ができます。

WIL-Builderチュートリアルの61頁「4.2 ループ処理について」に使用例の記載がありますのでご参考にしてください。


ある処理の結果から処理を分岐させる事はできますか?

Function listの「データ操作」→「制御構文」内の「条件文」ノードにて、処理を分岐する事ができます。

WIL-Builderチュートリアルの62頁~68頁「4.3 条件分岐について」に使用例の記載がありますのでご参考にしてください。


GrabberノードのGrabber Selectionダイアログから、カメラ設定ファイルを選択する際に開くフォルダを任意に変更できませんか?

プロジェクト設定のCameraFilesDir項で変更する事が可能です。

詳細は、「WIL-Builder操作説明書」の14頁「1-2.プロジェクト設定」、16頁「1-2-2. Project タブ - プロジェクト設定」をご参照ください。


ワークフローの実行時に、任意の場所で処理を一時的に停止させる事はできますか?

ブレークポイントを設定する事で、一時的に停止させる事ができます。

ブレークポイントの設定方法は、「WIL-Builder操作説明書」の78頁「4-1-2. Break point setting」に記載がありますのでご参考にしてください。
停止時間は、「WIL-Builder操作説明書」の79頁「表4-1-2-A) Break point setting メニュー」に記載がある「Interval」の設定で行う事ができます。
「Interval」より自由に時間設定を行う場合は、「WIL-Builder操作説明書」の16頁「1-2-2. Project タブ - プロジェクト設定」に記載がある「BreakPointInterval」の値を設定してください。


繰り返し実行時に、ワークフロー完了後から、次の処理の開始まで、一時的に停止させる事はできますか?

「Wait on completion」を設定する事で、一時的に停止させる事ができます。

「Wait on completion」の設定方法は、「WIL-Builder操作説明書」の79頁「表4-1-2-A) Break point setting メニュー」に記載がありますのでご参考にしてください。
上記より自由に時間設定を行う場合は、「WIL-Builder操作説明書」の16頁「1-2-2. Project タブ - プロジェクト設定」に記載がある「WaitOnCompletion」の値を設定してください。


ワークフロー実行途中の表示イメージを画像保存する事はできますか?

BreakPointSnapshotModeの設定とブレークポイントの設定により、実行途中の表示イメージがデータディレクトリに保存されます。
また、BreakPointSnapshotFormatの設定にて保存の際のファイルフォーマットを選択する事もできます。

設定の詳細は、「WIL-Builder操作説明書」の14頁「1-2.プロジェクト設定」、17頁「1-2-2. Project タブ - プロジェクト設定」の「BreakPointSnapshotMode」項、「BreakPointSnapshotFormat」項をご参照ください。

ブレークポイントの設定につきましては、Q27をご参照ください。

データディレクトリの詳細は、「WIL-Builder操作説明書」の10頁「ディレクトリ構成」の「データディレクトリ」項をご参照ください。


WIL-Builderを最大化表示で起動する事はできますか?

プロジェクト設定の「WindowState」を「Maximized」に設定する事により、最大化状態でWIL-Builderを起動する事ができます。

設定の詳細は、「WIL-Builder操作説明書」の14頁「1-2.プロジェクト設定」、18頁「1-2-2. Project タブ - プロジェクト設定」の「WindowState」項をご参照ください。


FileのOpenやファイル読み込みのFileNamesの選択時などを実行しようすると、”絶対パス情報が必要です”のエラーメッセージが表示されてファイルの選択ができません。

My Documentsフォルダが存在しない場合に、該当のエラーが表示されます。

My Documentsフォルダを削除したり、移動によりアクセスできない状態になっていないかご確認ください。


ワークフローリスト内のノードの表示名称を変更する事はできますか?

名称を変更したいノードを選択し、右クリックで表示されるワークフローメニュー内の「Rename」もしくは、F2キーにて変更が可能です。

詳細は、「WIL-Builder操作説明書」の93頁「4-3-3. ワークフローメニュー」の「Rename」項をご参照ください。


大きいサイズの画像や拡大表示した際に、画像全体のどこが表示されているのか分かる方法はありますか?

プレビューボタンで表示されるプレビューダイアログにて、画像全体のどこが可視範囲なのかが分かります。

詳細は、「WIL-Builder操作説明書」の27頁「1-8. プレビュー(Previewボタン)」をご参照ください。


ノードを追加したり、ワークフローを実行した際に、ノード名が赤文字になる事がありますが、これはどう言う状況なのでしょうか?

赤文字で表示されたノードの処理でエラーが発生した事を表しています。
赤文字になったノードのReferenceの列にエラーメッセージが表示されますので、それを参考にワークフローの修正を行って下さい。

実際にエラーが発生した際は、「WIL-Builder操作説明書」の92頁「4-3-2. エラー発生時」のような表示状況になります。


ノードを展開した際に表示される左右の矢印は何を表していますか?

左向きの矢印がデータの入力、右向きの矢印がデータの出力を表しています。

詳細は、「WIL-Builder操作説明書」の91頁「4-3-1. データ入出力」をご参照ください。


ワークフローに追加したノードを全て削除する方法はありますか?

ワークフローリストで右クリックして表示されるワークフローメニュー内の「Delete All」にて、全てのノードをワークフローから削除できます。
なお、ノードを1つ削除したい場合は、削除したいノードを選択の上、ワークフローメニュー内の「Delete」を選択するか、キーボードの「Delete」キーを押してください。

詳細は、「WIL-Builder操作説明書」の93頁「4-3-3. ワークフローメニュー」をご参照ください。


ノードのパラメータを自動調整する機能はありますか?

一部の統計コントロールを持つノードの場合は、パラメータの組み合わせを施行したベンチマーク結果のグラフから、パラメータを現在のノードに反映する事ができます。

詳細は、「WIL-Builder操作説明書」の114頁~118頁「6-3. Resultsタブ」の「Trend … ベンチマーク結果のグラフ」項をご参照ください。


appendixのSamplesフォルダ内WIL-Builderフォルダのサンプル集の機能説明はありますか?

同梱されている「readme.txt」に説明がありますのでご参照ください。
また、WIL-Builderチュートリアルの90頁、「6. サンプルワークフロー解説」項にも説明がありますのでご参照ください。


画像処理を実行しようとして「12:オブジェクトハンドルが無効です。」のエラーになるのですが。

エラー:12(オブジェクトハンドルが無効です。)は、該当の画像処理の入力画像(src)として渡した画像が、対応していない形式の画像の場合に出力されるエラーです。

適切な画像タイプに変化した画像を指定してください。

例:GS2やFPM2にカラー画像(UC8の3chなど)を指定した場合に該当のエラーが発生します。


Blob解析を実行しようとすると入力側の画像のチャネル数が無効とのエラーが表示されます。どうしたらいいですか。

画像処理によって、処理対象の画像タイプやチャネル数が指定されています。

Blob解析の対象画像は、2値画像(BIN)の1chのため、、入力画像のチャネル数が2以上の場合にエラーになります。

カラー画像を直接2値化した場合などは、BINの3chの画像になりますので、エラーになっている場合が多いです。
上記であれば、いったん濃淡画像に変換し、濃淡画像を2値化してから、Blob解析を行うことで解消されます。

まずは、入力画像のチャネル数を確認し、適切なチャネル数に画像変換を行ってください。


Ascope(画像濃度波形オーバレイ)の数字の大きさや配色を変更する事はできますか?

プロジェクト設定の「DefaultAscopeParam」項にて、数字の大きさや配色を変更する事ができます。

変更場所は、「WIL-Builder操作説明書」の14頁「1-2.プロジェクト設定」、16頁「1-2-2. Project タブ - プロジェクト設定」の「DefaultAscopeParam」項をご参考にしてください。


ワークフローウィンドウを分離する事はできますか?

DataタブまたはTaskタブを右クリックすると、メイン画面から、ワークフロー構築画面をモードレスフォームとして分離できます。
なお、もう一度、Dataタブを右クリックすると初期状態(メイン画面埋め込み)に戻します。

詳細は、「WIL-Builder操作説明書」の9頁をご参考にしてください。


画像ビューを分割して、途中結果と最終結果を表示する事はできますか?

画像ビューを分割する機能はありません。
その為、WIL-Builderを複数使用して、それぞれに途中結果と最終結果を表示させる事で代用が可能です。


2値ブローブ解析の結果としてViewに表示される外接矩形を他の形状(等価楕円等)に変更する方法はありますか。

2値ブローブ解析のプロパティグリットの表示をParanmからDetailに変更します。

Detaliの下側にあるVisualizationのShapeをRect1から表示したい特徴量に変更します。
プルダウンメニューからの選択になります。

等価楕円の場合は、Ellipseを選択してください。


2値Blob解析の結果として表示されている矩形に別の特徴量の表示を追加することはできますか。

1つの2値Blob解析の処理で表示できる特徴量の形状は1つだけです。ただし、フローを実行した後の最終的な表示のタイミングで2種類表示されていればよいのであれば下記の手順で可能です。

(1)2値Blob解析処理を2つフローに追加します。
(2)2つ目の2値Blob解析処理のDetaliの下側にあるVisualizationのShapeを表示したい特徴量に設定します。
(3)処理時を実行します。


 

撮像

画像入力ボードのオープンに失敗してしまいます。

(1) 画像入力ボードのドライバがインストールされているか確認してください。Windowsのデバイスマネージャを参照することで確認できます。
インストールされていない場合、WILインストーラに付属のドライバーをインストールしてください。

(2)電源コネクタのあるボードについては、ケーブルが接続されているか確認してください。
電源コネクタに電源が供給されない場合、ボードは動作しません。

(3) 画像入力ボードが既にオープンされていないか確認してください。RICE-001(a/b)およびFVC05はボード単位でオープンを行います。FVC06、FVC07、FV-GP440、FVC08はチャネル単位でオープンを行います。


画像入力時にエラーが発生します。

(1) GetErrorCode関数でエラーコードを取得し、どのようなエラーなのかを調べてください。

(2) 「GRAB_FAILED」エラーが発生した場合、次の要因が考えられます。
– RICE-001(a/b):画像が明るすぎる際に発生する場合があります。明るさを絞ってください。
– FVC06:カメラの電源が入っていないか、ケーブルが接続されていない可能性があります。
– PCIバスの帯域不足により、画像転送に失敗した可能性があります。

(3) 「TIMEOUT」エラーが発生した場合、次の要因が考えられます。
– カメラがトリガモードで、ボード側がノーマルモードの可能性があります。
– PCIバスの帯域不足により、画像転送に失敗した可能性があります。

(4) 上記以外のエラーの場合、ボードのオープンが正常にできていない、画像サイズが異なっている可能性が考えられます。


入力画像が真っ黒になってしまいます。

(1) カメラレンズで明るさを絞り過ぎていないか確認してください。

(2) FVC05,RICE-001(a/b):カメラケーブルが接続されているか確認してください。

(3) RICE-001(a/b):カメラに電源が入っているか確認してください。

(4) FVC05:ボード上のカメラ電源供給コネクタから電気が供給されているか確認してください。


WILとの組み合わせで使えるカメラを知りたいのですが。

対応カメラ一覧表が御座いますので、こちらをご覧ください。


画像形式は何に対応していますか?

bmp、jpg、png、raw、tiff形式の画像入出力に対応しています。


画像のビット数はいくつまで対応していますか?

BIN、UC8、S16、US16、D64、RGB24、RGB32の画像に対応しています。


64bitで使用出来る画像入力ボードを教えて下さい。

PCI Expressバス仕様ボード:FV-GP440、FVC07CLB(a/b)、FVC07CLMF(a)、FVC08CLB、FVC10(b)になります。


画像入力ボードのドライバはどこにありますか。

ソフトウェアダウンロードコーナーの
ドライバ(画像入力ボード・DIDO)よりダウンロードいただけます。

また、WILライブラリのインストーラーと一緒に圧縮されているappendixのDriverフォルダ内にも入っております。

ソフトウェアダウンロード


カラーカメラを使って撮像したのに、入力画像が市松模様のモノクロ画像になってしまいます。

お使いのカメラが、ベイヤーカラー出力のカメラか確認してください。
ベイヤーカラー出力のカメラは、ベイヤー色合成をせずにそのまま表示されますと市松模様調のモノクロ画像が表示されます。
詳細は、FWILプログラマーズガイド 入門編の10頁をご参照ください。

なお、カラー画像を表示する為には、ベイヤー色合成の処理にて、カラー画像を作成する必要があります。
ベイヤー色合成のプログラミングに関しては下記「FWILプログラマーズガイド プログラム作成 xx編」の21頁以降をご参照ください。
・C#編
・VB編


カメラリンクI/F規格のカメラが接続されているか、確認する方法はありますか?

CheckCameraAlive()関数にて、カメラの接続確認をすることができますので、こちらをお使いください。

CheckCameraAlive()関数は、カメラから出力されるクロック信号が確認できる場合「true(接続中)」が戻り値となり、カメラのクロック信号を確認できない場合に「false(未接続またはオープンされてません)」となりますので、この戻り値にて確認してください。


ラインセンサカメラの取込ライン数がデフォルト1024ラインになっています。取込ライン数を増やすにはどうしたら良いですか?

ラインセンサカメラの取込ライン数を増やす場合は、ビデオ入力クラスのSetLineNum()関数で変更ができ、指定できる最大ライン数は「65535」になります。

なお、SetLineNum()が存在しないバージョンをお使いの場合は、カメラ設定ファイルの下記項目の値を直接編集してください。
・FVC07:[Video]項目[VerticalSize]
・FVC08:[Base]項目[Height]
注意事項としては、直接編集の場合、2の倍数を指定する必要があり、最大ライン数は「65534」になることです。


画像入力ボードを2枚差した場合のディップスイッチは、どうなっていますか。

ファーストから出荷される場合、必ず1枚目:0、2枚目:1になっています。

3枚以上の場合、1枚目:0、2枚目:1、3枚目:2といったように0から順に設定されます。


画像入力ボードのOpen時にライブラリでIDを指定した番号と、カメラ設定ファイルの指定が異なっている場合どちらでOpenされますか。

ライブラリの指定が優先されます。

例:ID=0に指定されたカメラ設定ファイルを、ライブラリでID=1を指定してOpenした場合、ID=1のボードがOpenされます。


WILにて、FVC07CLBからFVC08CLBに変更する場合の注意点を教えてください。

WIL説明書のFVC08クラスの解説に、FVC07からFVC08移行時の注意点1、注意点2がありますので、こちらをご参照ください。

詳細については、WIL説明書の該当URLを下記に記載しますので、注意点1、注意点2をご参考にしてください。
・FVCLリファレンス (V3.1.0.X版)
・FVILリファレンス (V3.1.0.X版)


露光期間出力について教えてください。

露光期間出力は、トリガモードが、内部トリガモード、外部トリガモードの時に、露光時間と同じ時間のパルス幅信号を出力する機能になります。
デフォルトの設定では、カメラへ出力されるCC1信号と同じタイミングで外部出力が行われます。

設定によってタイミングをずらすことも可能です。
タイミングの変更が必要な場合は、サポートまでお問い合わせください。


FVC07CLBにて、チャネル間で同時取り込みを行いたい。

CFvVideoFVC07::SetSimTrigger(FVILではCFviVideoFVC07.SimTrigger)にて「1」に設定する事でチャネル間のトリガが共有され、同時取込が可能です。

また、同時取り込みの実装は次のようになります。
1.CH0を内部トリガ・外部トリガのどちらかに設定します。
2.CH1を外部トリガに設定します。
3.CH0を本メソッドで同時トリガ出力設定にします。
4.CH1を非同期で画像取込を開始します。
5.CH0の画像取込を開始します。
6.CH1の非同期取込完了待ちを行います。

詳細は、WIL説明書の下記URLに記載がありますのでご参照ください。
・FVCLリファレンス (V3.1.0.X版)
「CFvVideoFVC07::SetSimTrigger」
・FVILリファレンス (V3.1.0.X版)
「CFviVideoFVC07.SimTrigger()」


FVC08CLBにて、チャネル間で同時取り込みを行いたい。

CFvVideoFVC08::SetIntTriggerCH(FVILではCFviVideoFVC08.IntTriggerCH)、CFvVideoFVC08::SetExtTriggerCH(FVILではCFviVideoFVC08.ExtTriggerCH)で内部/外部トリガの入力チャネルを設定することにより同時取込が可能です。

例えば、CH0~CH2をCH0の外部トリガで同時取込をする場合、CH0~CH2を外部トリガモードに設定後、FVCLでは以下のように設定します。
1.CH0の SetExtTriggerCH は規定値(-1:カレントチャネル)に設定します。
2.CH1の SetExtTriggerCH(0) を規定値(-1:カレントチャネル)からCH0に設定します。
3.CH2の SetExtTriggerCH(0) を規定値(-1:カレントチャネル)からCH0に設定します。
4.CH0~CH2をそれぞれ取り込み開始し、CH0の外部トリガ入力端子にトリガ入力すると、CH0~CH2が同時取り込みされます。

詳細は、WIL説明書の下記URLに記載がありますのでご参照ください。
・FVCLリファレンス (V3.1.0.X版)
「CFvVideoFVC08::SetIntTriggerCH」
「CFvVideoFVC08::SetExtTriggerCH」
・FVILリファレンス (V3.1.0.X版)
「CFviVideoFVC08.IntTriggerCH」
「CFviVideoFVC08.ExtTriggerCH」


連続取り込みは、どの様な時に使用するのですか?

連続取り込みは、取り込み開始時点からフレーム(ライン)抜けすることなく、指定枚数分撮像する為の関数になります。

単発取込みでは、画像メモリのロックを画像入力ごとに行う為、取り込みが終了し、次の取り込みを開始するまでに必ずフレーム(ライン)抜けが生じます。

その為、連続取り込みは、フレーム(ライン)抜けを許容できない場合に、ご使用ください。


 

開発・画像処理

処理範囲の設定方法がわかりません。

処理範囲の指定には2通りの方法があります。

①画像オブジェクトに直接範囲を指定する方法。
FVCL…CFvImageのSetWindowメソッドにて設定します。
FVIL…CFviImageのWindowプロパティにて設定します。

②画像をビューに表示している場合、マウスドラッグによる処理範囲設定機能を使うことができます。
FVCL…CEvViewのSetCurcorTypeメソッドの引数にCursorType::PROCAREAを指定します。
FVIL…CFviImageViewのSetOverlayActiveメソッドの引数にCFviDrawProcareaを指定します。


矩形の処理範囲では無く、任意の形状の処理範囲で画像処理を行いたい。

処理範囲自体の形状は矩形しかありませんが、リージョンを使用する事により処理範囲を任意形状に設定する事と同様の事が可能です。

処理としては、以下の様な流れになります。
1.任意の形状のリージョン(CFvRegion または CFviRegionクラス)を
作成します。
2.作成したリージョンを使用して、画像のコピー(リージョン指定)を
行います。
3.コピーした画像に対して画像処理を行います。


処理範囲を設定しても、処理範囲が反映されない事がある。

処理範囲はFVCL::Data::CFvImageもしくはFVIL.Data.CFviImage毎に保持していますので、個別に設定する必要があります。
FVCL::Data::CFvImage::GetWindowもしくはFVIL.Data.CFviImage.Windowにて、FVCL::Data::CFvImageもしくはFVIL.Data.CFviImageの処理範囲を確認し、処理範囲が設定されていなかった場合は設定し直して下さい。


FPM2のパラメータでPolarityを両極性にした際にScore値が100を超えてしまったのですが。

仕様となります。FPMサーチのスコアは、パタンと同じエッジと判断されるエッジが対象画像にあればスコアを加えていく加算方式を採用しています。

「両極性」を設定した場合、対象画像のエッジの極性が、パタンのエッジの極性と反転しているものも、パタンにあるエッジと同じと判断しコアを加算します。
その為、誤差範囲内に、パタンと極性が同じエッジと、逆極性のエッジがある場合は、2重にスコアが加算されそのようなエッジが一定数ある場合に、スコアが100を超える事になります。


FPM2の処理時間を短縮したいので、有効なパラメータを教えてください。

・角度範囲を狭くする
回転する範囲が決まっている場合は角度範囲の設定を狭くしてお試しください。
-CFviFPM2Param.AngleMinおよびAngleMax(FVIL)
-CFvFPM2Param.AngleMinおよびAngleMax(FVCL)

・サーチ範囲(特徴量を抽出する範囲)を小さくする
ワークの移動範囲があらかじめわかっている場合などは、検出範囲を小さくしてお試しください。
-CFviImage.Window(FVIL)
-CFvImage::SetWindow(FVCL)

また、処理の軽い前処理を組み合わせることで、おおまかな位置決め行い処理範囲を限定する
のも有効です。

・不要なエッジを出にくくする
背景ノイズとワークのコントラストが大きく異なっている場合等は、2次元エッジ検出のエッジ閾値を変更し、
不要エッジを減らすことで検出時間が早くなります。
-CFviEdge2DCorrelationParam.VarThreshold(FVIL)
-CFviEdge2DSobelParam.EdgeThreshold(FVIL)
-CFvEdge2DCorrelationParam.m_VarThreshold(FVCL)
-CFvEdge2DSobelParam.m_EdgeThreshold(FVCL)


GS2パタンを作成する際の注意点はありますか。

パタンサイズおよび背景の割合に注意してください。

パタンサイズは、サーチの過程で圧縮されますので、
ある程度の大きさで(128画素程度以上を目安に)作成してください。

また、ワークと背景の占める割合は、1:1になるように作成することでサーチが安定しやすくなります。
ほぼワークのみでパタン登録された場合、ワーク状況によりますが、濃淡変化のないパタンになるとサーチが不安定になりますのでご注意ください。


グレイサーチの継続サーチオプションとはどのような機能ですか。どのような場合に有効か教えてください。

グレイサーチでは、サーチ時間を短縮するために何段階かの圧縮画像を作成しています。
継続サーチオプションを利用した場合、前回のサーチで作成した圧縮画像を使ってサーチを実行します。
そのため、圧縮画像を作成する時間が無くなりますので、サーチの処理時間の短縮が可能です。

同じ画像に対して、複数のパタンを切り替えてサーチしたい場合に有効です。


FPM2の基本パラメータで回転角(スケール)の上限/下限を設定しているのですが、結果の中に上限~下限範囲外の結果が含まれてしまいます。

仕様となります。

より精度の高い回答を出力することを重視していますので高精度ポーズ推定の実行を指示した場合には、設定した範囲外の回答が出る場合があります。

【詳細】
FPMサーチの実行には、粗サーチと精サーチ(高精度ポーズ推定)という二段階でサーチしています。

・粗サーチ:ある程度大まかにサーチを行い候補点を探します。
・精サーチ:粗サーチで見つけた候補点に対して角度やスケールを算出しなおします。

角度とスケールの閾値は粗サーチに対する閾値として使われていますが、精サーチでは計算にこの閾値を使用して計算を行っていません。
そのため、稀に範囲外の回答が出る場合があります。
実際には、粗サーチで閾値の範囲ギリギリの位置が候補点となったときに、範囲外の回答が出るケースがあります。


FPM2で似た形のワークを誤サーチしてしまいます。スコアに差をつけたいのですが、良い方法はありますか。

対象ワークにもよりますが、領域スコア算出や不可欠領域にて差別化が可能です。

領域スコア:AreaScore ・・・ パタンで取得したエッジと異なるエッジが存在する場合に、その部分を減点して
スコア値を再計算するパラメータです。

不可欠領域:Essential・・・通常のサーチ処理を行った後、不可欠領域エリアにある情報だけを使用してスコアを再計算します。 大きなパタンの中に含まれる小さな領域に対してのスコアに差をつけたい場合に有効な処理です。


FPM2で取得されるエッジが少ない場合の対処法をおしえてください。

エッジが少ない場合の主な原因と対処法は下記になります。

原因:パタンが小さい、もしくは、対象が細い線
対処:局所領域サイズ: RegionWidth(RegionHeight)を小さくしてお試しください。
RegionWidthを変更した場合は、NmsLengthも合わせて変更してください。
推奨値:(RegionWidth-1)/2

原因:背景と対象物の濃度差が小さい
対処:VerThresholdの値を小さくしておためしください。


パタンとは異なる色の対象物のサーチは可能ですか。例:パタンが黒いマークでサーチ対象が白いマークの場合など

登録したパタンと反対色の場合もサーチができます。

エッジ極性:CFviFPM2Param.Polarity(CFvFPM2Param::m_Polarity)をReverseまたはEitherに変更することで、サーチが可能です。

・Same(極性なし)
・Reverse(反極性)
・Either(両極性)


GS2の圧縮開始率の計算方法を教えてください。

【複雑度による圧縮レベルの決定方法】

始めに、以下の式に複雑度を代入して評価値を計算します。

R = 9 + ( 複雑度 – 1 ) × 3  (単位:画素)

次に、評価値とパタンを圧縮したときの総画素数を比べて
総画素数が評価値以下にならない最大の圧縮レベルを求めます。

<例1> 100×100画素のパタンで複雑度9の場合

圧縮レベルごとの総画素数とパタンサイズは以下のようになります。
圧縮   画素数   パタンサイズ
1/2    2500    50×50
1/4    625     25×25
1/8    144     12×12
1/16    36     6×6
1/32    9      3×3

評価値は以下のようになります。
9 + ( 9 – 1 ) × 3 = 33(画素)

この例の場合は、評価値が33(画素)なので、総画素数が33画素以上で
もっとも圧縮レベルの高い 1/16 となります。
パタン画像を1/16圧縮した画像でサーチを開始します。

<例2> 100×30画素のパタンで複雑度9の場合

圧縮レベルごとの総画素数とパタンサイズは以下のようになります。
圧縮   画素数   パタンサイズ
1/2    750    50×15
1/4    175    25×7
1/8     36    12×3
1/16    6     6×1
1/32 *画像縦サイズが1画素より小さくなるためこれ以上圧縮を行わない

評価値は以下のようになります。
9 + ( 9 – 1 ) × 3 = 33(画素)

この例の場合は、評価値が33(画素)なので、総画素数が33画素以上でもっとも圧縮レベルの高い 1/8 となります。
パタン画像を1/8圧縮した画像でサーチを開始します。


サーチ終了圧縮率の計算方法を教えてください。

サーチ終了圧度は、精度パラメータ(Precision)により決定されます。

超高精度では圧縮度0(原画像)
高精度では圧縮度1(1/2圧縮画像)
普通精度では圧縮度2(1/4圧縮画像)

になります。


GS2でサーチ位置がずれてしまいます。なにか有効なパラメータはありますか。

GS2は圧縮した画像を用いて処理をおこなっています。
そのため、圧縮によりワークがずぶれたりした場合にずれた回答を出力したり、見つけられないといったことが起こります。

圧縮度はパタンサイズと複雑度から自動決定されます。
まずは、Complexity(複雑度)の値を大きくしてお試しください。
圧縮度は、ExecuteOptionを変更することで、ユーザーが指定することも可能です。
Complexityを変更しても現象が変わらない場合は、ExecuteOptionをEnforce2に設定し、FirstUnitを変更して現象が改善するかお試しください。

※Complexityや圧縮開始度の指定でも現象が改善しない場合は、ユーザーサポートまでお問い合わせをお願いいたします。


検出するブローブを色や面積で絞り込みたいのですが、方法がわかりません。

ブローブを絞込むには、フィルタ条件クラス(CFvBlobFilterRange)を使って取得するブローブの条件を設定する必要があります。

(例)面積が100以上1000未満を取得するフィルタを設定する
FVCL::CFvArray filters;//ラベリングフィルタ配列
filters.resize( 1 );
filters[0].SetType(FVCL::Blob::FeatureType::AREA);//面積値フィルタ設定
filters[0].SetMax(1000);
filters[0].SetMin(100);
m_blobResult.GetList(filters, &datas);//面積値が範囲内のBLOBを配列に格納


2値ブローブ解析で検出したブローブの、穴を塗り潰した面積値を取得したい。

解析モードによって取得する方法が変わります。
①両解析モードの場合
FVCL::Blob::CFvBlobData::GetAreaWithHole もしくは、
FVIL.Blob.CFviBlobData.AreaWithHoleにて取得できます。
②単色解析モードの場合
リージョン(CFvRegion または CFviRegionクラス)にある
「リージョンの穴の塗り潰し」にて、ブローブの穴を
塗り潰した面積値が取得できます。
処理としては、以下の様な流れになります。
1.ブローブ解析を行い、目的のブローブのリージョンを
取得します。
2.そのリージョンに対して、リージョンの穴の塗り潰しを
行います。
3.塗り潰したリージョンの面積値を取得します。


Blob解析の結果を処理範囲にして画像処理を行いたい。

リージョン処理(FVIL.Region・FVCL::Region)を使用することで可能です。

1.Blob解析後、処理範囲としたい塊のリージョン(CFviRegionまたはCFvRegion)を作成します。

2.作成したリージョンを使用して、画像のコピー(リージョン指定)を行います。

3.コピーした画像に対して画像処理を行います。


複数Blobの重心を求めたいです。

リージョンの連結を行い、連結したリージョンの重心を取得することで求めることが可能です。

リージョンのOr演算を使用してリージョン間の OR 演算を行います。
FVCL::Region::Operation::Or(FVCLの場合)
FVIL.Region.Operation.Or(FVILの場合)

上記で得られた連結リージョンに対して
リージョンの重心を取得してください。

FVCL::Data::CFvRegion::GetCenter(FVCLの場合)
FVIL.Data.CFviRegion.Center(FVILの場合)

———————————————————
対象Blobが多く、連結に処理時間がかかる場合は
下記の計算式でも求めることが可能です。

blobの面積: BiS
blobのX一次モーメント: BiM01
blobのY一次モーメント: BiM10
重心: (Gx,Gy)

Gx = (ΣBiM01) / (ΣBiS)
Gx = (ΣBiM10) / (ΣBiS)

(例)B1, B2, B3 の3つのブローブの重心の場合下記の式で求めることができます。
Gx = (B1M01 + B2M01 + B3M01) / (B1S + B2S + B3S)
Gy = (B1M10 + B2M10 + B3M10) / (B1S + B2S + B3S)


2値ブローブ解析で、特定ブローブの全点の座標を取得したいです。

全座標は2値ブローブ解析の結果で得らたBlobデータを
FVIL.Data.CFviRegionにすることで得られます。

FviRegionに配列アクセスすることでランレングスが取得できますのでこちらを使用してください。

*****************************************************************
Dim region As FVIL.Data.CFviRegion
‘ブローブデータからリージョンを取得
region = blobData.GetRegion()

Dim ArrayPos As New List(Of FVIL.Data.CFviPoint)

‘全座標取得
For Each run As FVIL.Data.CFviRunLength In region

Dim Pos As New FVIL.Data.CFviPoint
Pos.Y = run.Y

For i = run.XS To run.XE
Pos.X = i
ArrayPos.Add(Pos)
Next
Next
*******************************************************************


2値ブローブ解析で、エラーコード19(INVALID_PROCAREA)になります。何が原因でしょうか?

2値ブローブ解析クラスにおける処理対象画像には、処理範囲の幅と高さが共に65535画素以下である事と言う条件がありますので、処理範囲サイズを確認してください。


特徴量の外接長方形の横長と縦長は、縦長が長くなることがありますか?

はい、ございます。

外接長方形は、慣性等価楕円の主軸と同じ傾きの長方形で、lsize(外接長方形横長)は、慣性等価楕円の主軸と平行なものと定めています。

長さによって入れ替えるといったことはしておりませんので、Blobの形状によってはwsizeの方が長くなります。


外部メモリへのアクセス(アタッチ)方法がわかりません。

外部メモリへのアクセスは、CFvImageクラス(FVILではCFviImageクラス)のAttachメソッドを使います。

Attachメソッドの引数に、アタッチ先メモリの先頭アドレスを与えることで、外部メモリへアクセスすることができます。
(例)
FVCL::CFvImage SrcImage;
SrcImage.Attach(adrs, ImageSizeX,ImageSizeY, FVCL::ImageType::UC8, NULL);
※adrs=外部メモリの先頭アドレス

無効なメモリ領域へアクセスしようとすると、アプリケーションが異常終了しますのでご注意ください。
詳しくは、ヘルプファイルのCFviImage::Attach(外部メモリのアタッチ)のページをご覧ください。


処理範囲を指定して画像のコピーを行いたい。

処理範囲は、画像オブジェクト:CFvImageクラス(FVILではCFviImage)のWindowが保持しています。
画像オブジェクトのWindowを変更し、CFvImage(CFviImage)のCopyを実行します。
Copyの処理オプションに0を指定することで、指定した範囲をコピーします。


複数の画像を結合し、一枚の画像にしたい。

以下に2枚の画像を上下に結合する手法例を記載します。
同様の処理を行う事により複数の画像を結合して、一枚の画像にできます。

1.結合画像用に新規にFVCL::Data::CFvImage、もしくは、FVIL.Data.CFviImageを生成します。
2.その生成した結合画像用メモリの処理範囲を、上半分の範囲に設定します。
3.結合画像用メモリのFVCL::Data::CFvImage::Copy、もしくは、FVIL.Data.CFviImage.Copyを使用して、一枚目の画像を結合画像用メモリにコピーします。
4.結合画像用メモリに設定された処理範囲を、下半分の範囲に変更します。
5.二枚目の画像を、3と同様に結合画像用メモリにコピーします。


90度単位で画像を回転させたい。

FVCL::Data::CFvImage::GetRotatedImage(FVIL.Data.CFviImage.GetRotatedImage)にて、90度単位の回転画像の取得ができます。


「ビット深度」とは何ですか?

「ビット深度」は、1画素が何bitなのかを表していて、格納されるデータの濃度値の範囲を表しています。
例えば、FVCL::ImageSize::Depthが「8」の場合、濃度値の範囲は8bit(0~255)になり、FVCL::ImageSize::Depthが「10」の場合、濃度値の範囲は10bit(0~1023)になります。


画像の切り出しは可能ですか。

画像メモリのCopy関数を使用することで可能です。

コピー元の処理ウィンドウを切り出しを行いたい範囲に
指定し、
コピー先の画像メモリは、画像サイズは処理ウィンドウと同じサイズに、画像タイプ、チャネル数は画像元と同じに設定してください。

C#コード例
————————————————————————————–
//元画像用、画像メモリの生成
FVIL.Data.CFviImage src = new FVIL.Data.CFviImage();

//元画像の処理ウィンドウを切り出したい範囲に指定
src.Window = new System.Drawing.Rectangle(100, 150, 200, 250);

//コピー先用画像を用意、
public FVIL.Data.CFviImage dst = new FVIL.Data.CFviImage(150, 200, src.ImageType, src.Channel);

//コピーの実行で切り出し
dst.Copy(src, 0);
————————————————————————————–


画像メモリを大量に確保したいのですが10000ぐらいでエラーになってしまいます。

GDIリソースの枯渇が起きています。
(GDI リソースの上限は OS 全体で 約 10,000)

画像メモリ(CFviImage、CFvImage)を確保する際に
alloc_option を1に設定することで回避できます。

また、下記関数を使用することで、デフォルト値を設定することも可能です。
確保時にオプション指定ができない場合などにご使用ください。

【FVIL】
FVIL.CFviObject.DefaultAllocateOption = option

【FVCL 】
FVCL::CFvObject::SetDefaultAllocateOption(option);


C#のbyte[]配列にて格納された画像データをCFviImageの形式に変換したい。

CFviImageのアドレスは、GetImageAdrsで取得できますので
アドレスを取得後、Marshal.Copy等でコピーしてください。

コード例  (エラー処理は別途行ってください。)
——————————————————————————–
int size = m_image.HorzSize * m_image.VertSize;
byte[] managedArray = new byte[size – 1];

// 全面白(255)に設定
for (int i = 0; i < size – 1; i++)
managedArray[i] = 255;

// バイト配列からCFviImageにコピー
for (int y = 0; y < (m_image.VertSize – 1); y++)
{
IntPtr pnt = m_image.GetImageAdrs(0, 0, y);
Marshal.Copy(managedArray, y *m_image.HorzSize, pnt, m_image.HorzSize);
}
——————————————————————————–


2G以上の画像ファイルをロードしたいのです。メモリに余裕があるのにメモリ不足でエラーになってしまいます。

画像領域確保時のオプションの設定がデフォルトの場合、2G以上のメモリを確保しようとするとエラーになります。

初期化関数実行後などに、FVIL.CFviObject.DefaultAllocateOptionにて
メモリ確保時の動作指定を「DIB を使用しない」に指定してください。

コード例
FVIL.CFviObject.DefaultAllocateOption=1;


CFviImageをSystem.Drawing.Image に変換する方法はありますか。

CFviImageをSystem.Drawing.Imageするには、そのままキャストすることで変換が可能です。

コード例
**********************************************************************
【C#】
FVIL.Data.CFviImage fvimg = FVIL.Data.CFviImage();

//CFviImage→System.Drawing.Image
System.Drawing.Image image = (System.Drawing.Image)fvimg;
**********************************************************************
【VB】
Dim fvimg As FVIL.Data.CFviImage = New FVIL.Data.CFviImage()

//CFviImage→System.Drawing.Image
System.Drawing.Image image = (System.Drawing.Image)fvimg
********************************************************************

なお、System.Drawing.Image からCFviImageへ変換する場合は、CopyFromで可能です。

コード例
**********************************************************************
【C#】
var fvimg = New FVIL.Data.CFviImage();
var img = System.Drawing.Image.FromFile(@”C:\test.jpg”);

// System.Drawing.Image → CFviImage
fvimg.CopyFrom(img);
**********************************************************************
【VB】
Dim fvimg As FVIL.Data.CFviImage = New FVIL.Data.CFviImage()
Dim img As System.Drawing.Image = System.Drawing.Image.FromFile(@”C:\test.jpg”)

// System.Drawing.Image → CFviImage
fvimg.CopyFrom(img)
**********************************************************************


大きいサイズの画像メモリを保存しようとしたのですがエラーが発生します。

JPEGやPNG、BMPの画像サイズの最大サイズは65,535×65,535ピクセルとなっております。(TIFFファイルの場合は、最大4GB)
したがって、上記以上の画像メモリを保存しようとした場合、エラーになります。


メインメモリには余裕があるのですが、画像メモリの確保時にメモリ不足のエラーが発生するのですが。

確保したい画像メモリが2G以上の場合、画像領域確保時のオプションの設定がデフォルトですとエラーになります。

初期化関数実行後などに、FVIL.CFviObject.DefaultAllocateOptionにて
メモリ確保時の動作指定を「DIB を使用しない」に指定してください。

コード例
FVIL.CFviObject.DefaultAllocateOption=1;

DefaultAllocateOptionが設定されているにもかかわらず、エラーとなる場合は、メモリが分断されている可能性があります。(画像サイズが大きい場合に稀に発生します)

WILの画像メモリは、連続したメモリ領域が必要となっております。その為、メモリが断片化され、連続したメモリ領域が確保できない場合は、メモリ容量が十分でも、画像メモリを確保する事ができずにエラーになります。
メモリ確保のタイミングを変更し、アプリケーションの初期化時などに必要なメモリをあらかじめ確保しておくことで対策できる場合があります。お試しください。


CFviImageのBitmapに変換したいです。下記のようにキャストした場合、シャローコピーになりますか。

ディープコピーになります。


GDI直線構造クラス:CFviGdiLineを作成後、位置(Position)を設定するとラインの情報が初期化されています。

CFviGdiLineは、表示するために内部で直線係数から線分に変換しています。
線分の変換前にPositionを変更してしまうと、整合性がとれず計算不能になるため、初期化されてしまいます。
線分に変換するタイミングは、Play, GetClipRectメソッドの実行時ですのでPositionを変更したい場合は、どちらかの関数の実行後に行ってください。


白地に赤色×印が、画像ビューに表示される事がある。

画像ビューの制御(画像ビューの再描画やGDI図形の変更等)をメインスレッド以外から行っている場合に発生する場合がございます。
画像ビューの操作を、別スレッドで行っていないか確認してください。

なお、フォーム上のコントロールに対して、別スレッドから操作することは、動作が保証されておりませんので、画像ビューの操作は、メインスレッドのみで行うようご注意ください。

また、下記FAQの内容が関係している事も考えられますので、合わせてご参照ください。
・WIL→その他のトラブル→Q3


cFviImageViewの背景色を変えたいがプロパティで設定した場合、動作が安定しない。

フォームの Load イベント等に
下記のような変更コードを記載してください。

【VB 変更コード例】
cFviImageView1.Display.Background.Style = FVIL.GDI.BrushStyle.Solid
cFviImageView1.Display.Background.Color = Color.FromArgb(0,0,255)

【C# 変更コード例】
cFviImageView1.Display.Background.Style = FVIL.GDI.BrushStyle.Solid;
cFviImageView1.Display.Background.Color = Color.FromArgb(0,0,255);


オーバレイに表示した図形や文字も含めて画像ファイルに保存したいのですが。

描画イメージの保存:CFviDisplay(CFvDisplay)のSaveImageをご使用ください。

SaveImageを使用して、描画イメージを画像オブジェクト(CFviImage,CFvImage)に保存します。

パラメータにて、保存領域、保存倍率の指定が可能です。

cFviImageViewやCEvViewに表示されている画像をオーバレイ毎保存したい場合の例を記載します。

**********************************************************************
//C#
FVIL.Data.CFviImage img = FVIL.Data.CFviImage();
//表示画面を画像メモリに保存
cFviImageView.Display.SaveImage(img, cFviImageView.Display.DisplayRect, 1.0);

//保存
FVIL.File.Function.SaveImageFile(“view_img.png”, img);

**********************************************************************
//C++

FVCL::Data::CFvImage img;
//表示画面を画像メモリに保存
EvView.m_display.SaveImage(&img, EvView.m_display.GetDisplayRect(), 1.0);

//保存
FVIL.File.Function.SaveImageFile(Defs.ResultDir + “/view_img.png”, img);

**********************************************************************


画像のカーソル座標を取得したいのです。CFviImageView.Display.CursorPositionでは、画像を拡大・縮小するとずれてしまいます。

CFviImageView.Display.CursorPositionで取得した座標を、cFviImageView1.Display.DPtoIPにて変換することで期待の座標値が取得できます。

CursorPositionは、表示領域(cFviImageView)上の座標値のため、拡大や縮小しますとcFviImageViewと表示している画像の座標が異なってしまいます。

DPtoIPにより、表示領域座標から画像の絶対座標へと変換してください。


オーバーレイ図形を10000以上表示したいのですが、一定数以上でアプリケーションが落ちてしまいます。図形表示数に上限はありますか。

点や矩形などのGDI図形は、メモリが許す限り表示が可能ですが、CFviGdiImageおよびCFvGdiImageにおいては、GDIリソースを消費するため、制限があります。

点や矩形などのGDI図形は、メモリが許す限り表示が可能ですが、CFviGdiImageおよびCFvGdiImageにおいては、GDIリソースを消費するため、制限があります。

OSの制限によりGDI リソースの上限は 全体で 約 10,000となっております。
こちらを超えての確保はできないため、超えないようご注意ください。


オーバレイに複数追加した図形から一部のみを削除する方法を教えてください。

追加した図形を一部だけ削除したい場合は、FVCLの場合は、CFvOverlayのDeleteFigure を実行します。

FVILの場合は CFviOverlayのRemoveFigure(CFviGdiFigure)を使用するか、 Figures プロパティを介してRemove メソッドを使用します。

なお、削除したい図形のみを別のオーバレイに追加しておけば、そのオーバーレイに表示されている図形を一斉削除すればよいので管理が容易です。


CFviImaggeViewについて、スクロールバーの値を変更したときのイベントの取得をしたい。

スクロールバーのイベントの取得は、VScroll とHscrollのイベントを追加する必要があります。

コード例
//Form1_Load内に下記を追加
cFviImageView1.ScrollBarH.Scroll += new ScrollEventHandler(this.cFviImageView1_HScroll);
cFviImageView1.ScrollBarV.Scroll += new ScrollEventHandler(this.cFviImageView1_VScroll);

//関数を追加
private void cFviImageView1_HScroll(object sender, ScrollEventArgs e)
{
Debug.WriteLine(“H scroll”);
}

private void cFviImageView1_VScroll(object sender, ScrollEventArgs e)
{
Debug.WriteLine(“V scroll”);
}


CFviImageViewでMouseWheelで拡大・縮小ができません。EnableMouseWheelはTrueに設定しています。

キーボードのCTRLボタンを押下したままマウスホイールを操作することで伸縮します。


画像にシェーディング補正を行いたい。

シェーディング補正を行うライブラリは用意しておりません。
しかしながら、関数を組み合わせて、画像間の加算・減算処理を行う事により、簡易的なシェーディング補正を実現する事ができます。

例えば、暗い部分を明るくする方法の例としては以下の様な処理になります。
(1)フラットで均一な面をもつダミーワークを用意し、照明をあてて明るさの偏りのみの画像を作成します。
(2)スカラー減算にて、適当な濃度値から(1)の画像を減算し、シェーディング補正用の画像を作成します。
(3)実際のワークを撮像した画像を用意します。
(4)画像間加算にて、実際のワークを撮像した画像に、シェーディング補正用の画像を加算して、明るさを平坦にします。


回転のある矩形を処理範囲として画像の輝度計測はできますか。

リージョン処理を使用することで可能です。

1.処理範囲としたい矩形のリージョンを生成します。
リージョンの生成 :
-FVIL.Data.CFviRegion.Create
-FVCL::Data::CFvRegion::Create

2.画像特徴量計測の関数群を使用してください。
-FVCL::Region::Measur
-FVIL.Region.Measure


カメラのフォーカス値を数値化する方法はありますか。

フォーカス値を取得する一般的な方法には下記のものがあります。
(1)分散値(標準偏差)
(2)微分値
(3)最大最小値

(1)分散値(標準偏差)を用いた方法
分散値が大きい→濃度のばらつきが大きい→はっきり映っていると判断します。
分散値や標準偏差は、CFvStatistics(CFviStatistics)にて取得できます。

(2)微分値
ぼやけている→エッジ部分が明瞭ではない と考え
エッジ部分を抽出するフィルタをかけ、その結果画像を計測して判断します。
微分フィルタである、prewittフィルタ:CFvPrewit(CFviPrewit)を
画像に対し行うと、エッジ部分のみが白くなります。
結果画像に対し、濃度値を加算し、一番大きくなった場合にフォーカスが合っているという判断します。

prewitt以外の微分フィルタ
-ソーベルフィルタ:CFvSobelFilter(CFviSobelFilter)
-ロバーツフィルタ::CFvRobertsFilter(CFviRobertsFilter)
-2次元ガウス微分:CFvGaussian2DFilter(CFviGaussian2DFilter)
-1次元ガウス:CFvGaussian1DFilter(CFviGaussian1DFilter)

(3)最大最小値
コントラスト比を(濃度最大値/濃度最小値)の式で表しますと、コントラストが高い、低いの判断が可能になります。
ただし、この手法はノイズに弱く、フォーカスが合っていない場合でも、
輝度の強いノイズが画像上にあると時結果数値が高くなります。
ノイズがある画像の場合はご注意ください。

画像の濃度最大、濃度最小を調べるには、以下の関数をご使用ください。
CFvImage(CFviImage)のFindMaxValue (指定範囲の最大値が見つかった箇所の座標を返します)
CFvImage(CFviImage)のFindMinValue (指定範囲の最小値が見つかった箇所の座標を返します)
CFvImage(CFviImage)のGetPixel (指定箇所の画素値を取得します)


QRコードが読めないのですが。

ライブラリで対応しているQRコードは、モデル2と呼ばれるものになります。
モデル1、マイクロQR等には対応していません。

まずは、読み取りたいQRコードがどのモデルかをご確認ください。
モデル2は、モデル1を改良し、最大バージョンは40 (177×177セル)で数字7089桁まで扱うことができるコードです。モデル1に対して、アライメントパターンが追加されています。

また、下記の注意点をご確認ください。
・QRコードシンボルの色は黒(クワイエットゾーン白)のみの対応となります。
・QRコードシンボルの鏡映反転には対応していません。
・ECIプロトコル適用のコードには対応していません。


ベイヤー画像に対して、ベイヤー色合成を行ったが、正常な色合いになりません。

ベイヤー画像のカラーフィルタの配置に対して、適切なベイヤーカラーフィルタ配列タイプが選択されていない為と思われます。
下記、ベイヤーカラーフィルタ配列タイプを参考に、適切な引数が選択されているか確認してください。

・ベイヤーカラーフィルタ配列タイプ
・F_CFA_RGGB:左上が赤で右下が青のカラーフィルタ配列
・F_CFA_GRBG:右上が赤で左下が青のカラーフィルタ配列
・F_CFA_GBRG:右上が青で左下が赤のカラーフィルタ配列
・F_CFA_BGGR:左上が青で右下が赤のカラーフィルタ配列

詳細は、FIEライブラリ説明書の目次より、「モジュール→画像フィルタ→ベイヤー色合成→列挙型→f_cfa_type」をご参照ください。


1Dバーコード認識クラスでは、全てのバーコード種別に対応していますか?

全てのバーコード種別には対応しておりません。
対応している種別は、EAN-13(Europian Article Number)、CODE-39、CODE-128、ITF(Interleaved 2 of 5)、NW-7(CODABAR)、EAN-8(Europian Article Number)になります。

各種別の詳細は、WIL説明書に記載がありますのでご参照ください。


円形ワークの中心を含まず、ドーナツ状にスキャンした画像でも、極座標変換にて、元の円形の状態に復元する事はできますか?

矩形領域の基準座標「OriginIn」にマイナスの値を設定することで、元の円形の状態に復元できます。


極座標変換の「Validate」を使用した際、出力画像のサイズが期待したサイズになりません。

出力画像の画像領域サイズは、「Validate」の引数「option(挙動制御オプション)」の値によって変わりますので、この値に「1」を指定してください。
「option」の値が「0」の場合は、入力画像の処理範囲サイズを、出力画像の画像領域サイズに設定し、「1」の場合は、極座標変換パラメータ(Param)と 変換方向(Invert)によって出力画像の画像領域サイズを調整します。

詳細は、WIL説明書の下記URLに記載がありますのでご参照ください。
・FVCLリファレンス (V3.1.0.X版)
「FVCL::PolarTrans::CFvPolarTrans::Validate」
・FVILリファレンス (V3.1.0.X版)
「FVIL.PolarTrans.CFviPolarTrans.Validate」


モルフォロジの処理の対象色は白でうが、黒対象にして処理を掛けたいです。方法はありますか。

対になる関数を使用することで、対象色を黒にした場合と同じ動作になます。

・CFvDilation(CFviDilation)  ←→  CFvErosion(CFviErosion)
・CFvOpening(CFviOpening)   ←→  CFvClosing(CFviClosing) 等。


エッジ計測した結果を利用して直線近似を行っています。同じ画像を使用しているのに、結果が毎回かわってしまうのですが。

・RANSAC
・LMEDS
・LMEDS2

上記の3つの近似モードの場合、fnFIE_mtrand_real2 で発生させた擬似乱数を使用して処理しており
擬似乱数の初期化用シードは、現在時刻を取得して、
その値にて設定をしています。

具体的な動作は、与えられた点群から、ランダムにいくつかのサンプル点を抽出して
最小二乗法に当てはめることを繰り返します。

そのため、実行するたびに結果が変わる可能性があります。


直線近似(円近似)について、精度良く検出したい場合、どの近似手法を選択すると良いですか。

ロバスト性が高いのは、LMEDS2(最小メディアン法)になります。

なお、選択できる近似手法は現在下記の7種類です。

-LMEDS2 ロバスト推定(最小メディアン法)
-MESTIMATOR2 ロバスト推定(M推定法)
-LSM_FAST 最小二乗法(旧ライブラリ互換)
-LMEDS ロバスト推定(最小メディアン法)
-RANSAC ロバスト推定(ランザック法)
-MESTIMATOR ロバスト推定(M推定法)
-LSM 最小二乗法

ロバスト性・処理時間においてランク付けした場合
下記のようになります。

ロバスト性
最小メディアン・ランザック法・M推定法、最小二乗法

処理時間
最小二乗法・M推定法・ランザック法・最小メディアン法

また、最小メディアン法は誤差範囲が不明な場合に、ランザック法は明らかな場合に有効です。


放射線エッジ検出(1次元エッジ検出)でエッジ極性を指定して実行したい。

FIE関数の fnFIE_edge1d_radial をご使用ください。

詳細はこちら

極性の指定方法

・パラメータ:direct_modeで極性を指定します。
f_edge1d_edge_direction.F_DRK_TO_BRI 暗→明のエッジ
f_edge1d_edge_direction.F_BRI_TO_DRK 明→暗のエッジ
f_edge1d_edge_direction.F_DTC_BOTH 両極性

・検出方向:ScanDirection の指定方法
中心から外に計測したい場合、処理範囲半径を正の値に
外から内向きに計測したい場合は、負の値指定します。


エッジ計測を実行するとパラメータエラーになります。

まずは設定したパラメータの設定可能範囲と設定した値を確認してください。


・計測ラインが画像範囲外になっていないか。
・AroundやStep がマイナスなっていないか。
・Thresholdが範囲外になっていないか。

【注意】
Thresholdは、関数によって設定可能な範囲が異なりますので、注意が必要です。
使用する関数のリファレンスにて範囲を確認してください。

■設定パラメータに問題がない場合
計測幅(LineWidth)の設定値を確認し、1以上であれば、計測線が画像範囲外なっていないかを確認してください。

計測ラインが画像内でも、計測幅を加味すると画像範囲外になる場合があります。

例:計測ライン:(5, 50)- (5, 300)の場合、
LineWidthを6以上に設定しますと画像範囲外の濃度値を参照しようとするため、エラーになります。


ハフ変換で縦線や横線を求めたいです。角度の指定方法を教えてください。

角度は、エッジの方向によって決まります。
エッジの方向は、黒から白に向かう方向になります。

同じ縦線でも、エッジの方向によって角度がかわりますので下記を参考に指定してください。

左に黒、右に白の縦線の場合、0度±10度
左に白、右に黒の縦線の場合、180度±10度
同様に、上に黒、下に白の横線の場合、90度±10度
上に白、下に黒の横線の場合、270度±10度


ハフ変換のパラメータ、RegionR とRegionQがよくわかりません。設定値の目安を教えてください。

RegionR, RegionQ は、似たような直線を検出しないようにするためのパラメータです。

直線はハフ検出基本クラスでは、直線を r と q で表しています。
・r・・・矩形領域(処理ウィンドウ)の中心からの距離(単位は画素)
・q・・・傾き(単位は角度を表わす「度」)

似たような 2 つの直線とは『 r と q とがともに近い値を持つ』と考えられます。

直線 1 の r、q の値がそれぞれ r1、q1
直線 2 の r、q の値がそれぞれ r2、q2 とした場合、
r1、r2 の差の絶対値が RegionR 以内で、しかも、q1、q2 の差の絶対値が RegionQ
以内ならば、直線 1、2 のうち、投票数の多いどちらか一方だけ回答とせよというように使用されます。

したがって、RegionR プロパティーを小さくすると、近くにある直線が複数検出される
RegionQ を小さくすると、傾きが似たような直線が複数検出されることになります。しかし、
RegionR, RegionQ をあまりに大きくすると別の複数の直線として検出したいものがどれか
1 本のみしか検出されない、ということになります。

似たような直線が多数存在するような状況でなければ、RegionR、RegionQ ともに 5~30 程度に設定してお試しください。


1次元エッジ(直線)と1次元エッジ(矩形)の違いを教えてください。

検出線の本数と、1つ検出線に対するエッジの出力数が異なります。

■1次元エッジ検出(直線)
検出本数は1本です。
1本の計測ライン上にある複数のエッジを検出します。

■1次元エッジ検出(矩形)
検出本数は指定本数分です。
1本の計測ラインについて、1点のエッジ点を求めます。


 

トラブル

プログラムを実行しようとすると「アプリケーションを正しく初期化できませんでした(0xc0150002)。」というエラーがでますが?

ネイティブ C++ で開発されたアプリケーションには、『Microsoft Visual C++ ライブラリのランタイム』が必要になります。お使いのPCにC++ランタイムが入っていない場合は、マイクロソフトのホームページよりダウンロード後、インストールして再度お試して下さい。それでも同じエラーが出る場合は、一度C++ランタイムをアンインストール後、再インストールしてお試し下さい。
又、C++/CLI、C#、VBで開発されたアプリケーションは、『Microsoft .NET Framework 2.0 SP2』がインストールされている必要がございます。インストール後、別途、GAC登録が必要となります。GAC登録の詳細は、WIL説明書を参照してください。


プログラム終了時に、ブルースクリーンが発生するのですが?

取込動作途中にプログラムを終了していませんか?
もし取込動作中に終了していましたら、取込動作を完全に終了してからプログラムを終了してください。


CFviImageViewのイベントでAccessViolationExceptionが発生しました。原因を教えてください。

CFviImageViewに表示されているcFviImageが、別スレッドから参照されている場合に、AccessViolationExceptionが発生することがあります。

並列化処理を行っている場合、リサイズや開放等が別のスレッドで行われ、CFviImageViewへ表示する際に、タイミングによっては、参照先のメモリが無いことで落ちているといったことが考えられます。

表示されているコントールを、メインスレッドからの操作に限定するか、Invokeメソッドを使用してアクセスください。


FVIL.Errors.GetMessage()を実行したのですが、エラーコードは取得できますが、エラー内容が取得できません。

FVIL.Errors.GetMessag で取得できるメッセージはInitVisionLibrary()をコールしていないと、空になってしまいます。
InitVisionLibrary()をコールしているか確認してください。


SioSetData(SioSendData)でカメラにコマンドを送信したが、コマンドによっては設定されない事がある。

コマンドデータ内に「0x00(ヌル文字)」が無いでしょうか。
SioSetData(SioSendData)は、コマンドデータ内で「0x00(ヌル文字)」が使用されている場合、コマンドデータを全て送信できない仕様の為、その場合は設定に失敗します。

この関数は、送信データの先頭、終端に記号(STX,ETX,CR/LF)を付加する為に、内部の処理で、実際に送信するデータの作成を行う際に、送信データ内に「0x00(ヌル文字)」があると、C言語における「文字列」はヌル文字で終了しなければならない。というC言語のルールの影響を受けて、「0x00(ヌル文字)」の前までのデータを使って送信データを作成してしまう仕様になっている為です。

コマンドデータ内で「0x00(ヌル文字)」が使用されている場合は、SioSetData(SetData)で、コマンド送信してください。


アプリケーション(WIL-Builderなど)が立ち上がりません。

必要なラインタイム(.NET Framework およびVisual C++ ランタイム)がインストールされていない可能性があります。
なお、ランタイムは、開発環境に対応したものをインストールする必要があります。

例1.WIL 3.0.x 系をご使用でWIL-Builderをご使用される場合
.NET Framework 2.0 以降 及び Visual C++ 2005 ランタイムが必要です。
※Windows XP には .NET Frameworkが標準では組み込まれていませんので手動でインストールする必要があります。
またWindows XP には.NET Framework 4.5 以降をインストールすることはできませんのでご注意ください。

例2.WIL 3.1.x 系をご使用でWIL-Builderをご使用される場合
.NET Framework 4.5.2 以降 及び Visual C++ 2013 ランタイムが必要です。


メモリ不足になりました。明示的にメモリを開放する方法を教えてください

CFviImageやWILの画像処理ライブラリのインスタンスは、基本的に関数内で確保したメモリに関しては関数を抜けたタイミングで破棄されますが、明示的に開放したい場合は「Dispose」をコールしてください。
なお、「Dispose」は実行した際にすぐにメモリを開放するのではなく、ガベージコレクションに任せておりますので、確実な開放をご希望の場合は「GC.Collect()」も合わせて実行してください。


 

画像入力ボード

全般

画像入力ボードとはなんですか?

画像入力ボードとは、カメラからの映像を、PCIバスや、PCI-Expressバスから民生用PCや弊社画像処理装置へ取り込むための拡張ボードです。

動作させるには、デバイスドライバと弊社製画像処理ライブラリをPCにインストールする必要があります。
カメラリンクインターフェースのカメラには「FVC07」「FVC08」、新EIJA配列準拠のアナログカメラには「FV-GP440」、CoaXPressには「FVC10」のように機種ごとに用途が分かれております。


どうやって使うのですか?

動作させるには、専用のデバイスドライバと弊社製画像処理ライブラリをPCにインストールする必要があります。
画像処理ライブラリにある、画像取り込み用の関数をコールすることで、カメラからPCのメモリへ画像を取り込むことができます。


どのカメラが接続可能なのか知りたいのですが。

現在対応しているカメラは、対応カメラ一覧表に記載されておりますのでご覧下さい。

記載のないカメラについて対応を希望される場合は、担当営業までご相談ください。


複数のカメラでの同時取り込みは可能ですか?

可能なボードと、できないボードがございます。

・RICE-001(a/b/c)・・・2ch同時(0/1ch又は2/3chの組み合わせ)まで可能。但し、2台のカメラが外部で同期されている必要があります。
・FVC04・・・非対応
・FVC05・・・ボード2枚による4ch同時取込が可能。
・FVC06・・・2ch同時が可能。
・FV-GP440・・・4ch同時取込が可能
・FVC07・・・2ch同時取込が可能
・FVC08・・・4ch同時取込が可能


画像入力ボードの貸出はできますか?

可能です。但し、ボードによっては在庫が無く、用意できない場合もございます。
貸出申込みの手順につきましては、担当営業、又はユーザサポートまでお問い合わせ下さい。


活線挿抜は可能ですか?

弊社の画像入力ボードは、活線挿抜に対応しておりません。
従いまして、電源がONの状態のまま、カメラやケーブルの挿抜は絶対に行わないでください。

電源がONの状態のまま、カメラやケーブルの挿抜を行った場合、カメラやボード等を破損する可能性がありますのでご注意ください。


PoCL、PoCXPとは何ですか?

PoCLは、「Power over CameraLink」の略で、カメラリンクケーブル経由で画像入力ボードからカメラに対して給電できる機能のことです。
FVC07CLB、FVC07CLBa、FVC07CLBb、FVC08CLBでは、カメラリンクケーブル1本あたり、+12Vの供給が可能です。

PoCXPは、「Power over CoaXPress」の略で、CoaXPressケーブル経由で画像入力ボードからカメラに対して給電できる機能のことです。
FVC10bでは、1レーンあたり、+24V、最大0.7Aの供給が可能です。


PoCL、PoCXPに対応していますか?

FVC07CLB、FVC07CLBa、FVC07CLBb、FVC07CLMFa、FVC08CLBが、PoCLに対応しています。
また、FVC10bは、PoCXPに対応しています。

なお、FVC07CLBは、手動による電源供給のON/OFF切替えになっています。
FVC07CLBa、FVC07CLBb、FVC07CLMFa、FVC08CLBは、PoCL対応カメラとPoCL対応ケーブルを使用した場合、自動的に電源供給します。
FVC10bは、PoCXP対応カメラを使用した場合、電源供給します。


カメラリンクI/F仕様の画像入力ボードとコンフィグレーション、TAPの関係性を教えてください。

FVC07CLBa、FVC08CLBは、Baseコンフィグレーション対応で、1TAP、2TAP、3TAPでお使いいただけます。
FVC07CLMFaは、Medium、Full(Deca、80bit含む)コンフィギュレーション対応で、4TAP、8TAP、10TAPでお使いいただけます。


Base、Medium、Fullコンフィグレーションとは何ですか?

カメラからのデータ転送に関する規格で、カメラリンクケーブルのデータを転送する経路を1つ使用するのが、Baseコンフィグレーション、2つ使用するのがMediumコンフィグレーション、3つ使用するのがFullコンフィグレーションになります。

なお、カメラリンクケーブルは1本のケーブルで、データを転送する経路を2つ持っていますが、1つの経路はカメラとのシリアル通信等の信号に使用する必要がありますので、Baseコンフィグレーションは1本のケーブル、Medium、Fullコンフィグレーションは2本のケーブルを使う必要があります。


TAPとは何ですか?

TAPとは、カメラがピクセルクロック当りに転送できるチャンネル数(画素数)を表しています。
TAP数が増えるほど、並列でデータ転送を行いますので、フレームレート(画像転送速度)は高速になります。

例えば、1TAPと2TAPのカメラを比較した場合、1フレームの画像サイズが同じであれば、2TAPのカメラは1TAPのカメラの1/2の時間で画像データを出力することが可能です。


FVC07CLMFを使用し、Baseコンフィグレーション接続で撮像が可能ですか?

FVC07CLMFでのBaseコンフィグレーション接続は仕様的に動作保証しておりません。
FVC07シリーズのコンフィグレーション対応は以下の様になっておりますので、使用するコンフィグレーションに合わせて選択してください。
・FVC07CLBb・・・Base configuration専用ボード
・FVC07CLMFa・・・Medium/Full configuration専用ボード


FV-GP440に使用されている電流保護素子(PTCサーミスタ)について、作動した場合の復帰方法を教えてください。

画像処理電源をOFFにして、原因について対処した後、画像処理装置の電源をONにしてください。


 

使用方法

画像入力ボードのドライバはどこにありますか?

Windows用画像処理ライブラリWILのインストーラに同梱されております。
WIL
お使いのライブラリのインストーラをダウンロード後、解凍したフォルダ内に「Driver」フォルダがあります。この中にある「~.inf」「~.sys」がドライバとなります。


FVC02(又はFVC01)をFVC05へ置き換えたいのですが、プログラムをどのように変更したら良いですか。

お使いのライブラリによって、変更箇所が異なります。
各ライブラリごとに、『FVC05への移行ガイド』を用意しておりますので、こちらをご参照ください。
『FVC05への移行ガイド』は、各種ドキュメントダウンロードページ→各ライブラリのドキュメントページよりダウンロード可能です。


外部トリガ入力について、電源5Vの入力は必要ですか。

5Vの電源はプルアップされているのでユーザー側で用意する必要はございません。
EXTRIGと空いているGRNDを短絡させることでトリガが入力されます。


カメラ設定ファイルは、どこにありますか?

カメラ設定ファイルは、カメラ設定ファイルダウンロードで公開しておりますので、こちらから個別にダウンロード可能です。

なお、上記よりダウンロードいただくには会員登録が必要になります。
大変お手数ですが、会員登録を行っていただきますようお願い致します。

※お使いになりたいカメラ用のカメラ設定ファイルが無い場合は、弊社担当営業までご相談下さい。


ボードを複数搭載する際に、同じボードIDを割り振ったらどうなりますか?

PC起動時に、マザーボードが認識した順番でボードをオープンする事になりますので、任意のボードを指定して操作する事が困難になります。
その為、PCに複数の同じ画像入力ボード、もしくは、IOボードを搭載する場合は、ボードのID番号を異なる設定に変更してお使いください。

実際のディップスイッチの場所は、弊社webの各種ドキュメント→画像入力ボード・IOボードの各ボードの取扱説明書「2.各部の名称」項に記載がありますので参照してください。


カメラリンク画像入力ボードに対して、外部トリガ信号やエンコーダ信号はどのように接続すればよいですか?

オプションのブラケットケーブルを使って接続してください。
ブラケットケーブルのコネクタの該当するピンに、外部トリガ信号、エンコーダ信号を結線することでお使いいただけます。
詳細は、下記、各ボード取扱説明書のブラケットケーブル項をご参照ください。

・FVC07CLBb取扱説明書
・FVC07CLMFa取扱説明書
・FVC08CLB取扱説明書


FVC07シリーズを2枚搭載し、外部トリガ信号やエンコーダ信号を使用する場合、ボード説明書に記載のブラケットケーブルを2つ使用する必要があります。2つを1つにまとめたブラケットケーブルはありますか?

FVC07EXT 2in1 ケーブルがありますので、こちらをお使いください。

詳細は、FVC07EXT 2in1ケーブル仕様書をご参照ください。


FVC07CLBのPoCL給電をON又はOFFにする場合、どうすればよいですか?

FVC07CLBのPoCL設定ジャンパ(JP1/JP2)で設定ができます。
PoCL対応カメラ接続時は、1-2ショート(JP1/JP2、+12V)、PoCL非対応カメラ接続時は、2-3ショート(JP1/JP2、GND)でお使いください。

PoCL設定ジャンパの詳細は、FVC07CLB説明書の2頁「2.各部の名称」項、7頁「7.PoCL設定ジャンパ(JP1/JP2)」項にありますのでご参照ください。


FVC07CLBa、FVC07CLBb、FVC08CLBは、PoCL規格のカメラに自動的に電源供給するとの事ですが、カメラリンクケーブルを2本接続しなければ電源が足りないカメラもあります。複数台接続したい場合、カメラリンクケーブルは1本使用になります。その為、画像入力ボードからの電源供給を停止して、外部電源を使用したいのですが、方法はありますか?

設定で電源供給を停止することはできませんが、非PoCLカメラリンクケーブルにて電源供給が停止されますので、こちらをご使用ください。


MDR-MDR、SDR-SDRのカメラリンクケーブルは、画像入力ボードに両方のコネクタが接続できます。どちらのコネクタを接続しても問題はないのでしょうか?

カメラリンクケーブルには、方向性が存在するものがあります。
その為、方向性が存在するケーブルを使用する際には、正しい方向でご使用ください。

方向性については、コネクタ部に「camera側」等の記載がありますのでご確認ください。
なお、詳細はケーブルメーカーのWebサイトなどでご確認ください。


方向性が存在するカメラリンクケーブルを逆に接続して使用することはできますか?

逆に接続した場合は、給電できない、ノイズが乗る、撮像できない等、動作不安定の原因になります。
その為、方向性が存在するケーブルを使用する際には、正しい方向でご使用ください。

方向性については、コネクタ部に「camera側」等の記載がありますのでご確認ください。
なお、詳細はケーブルメーカーのWebサイトなどでご確認ください。


画像入力ボードをオープンした後、エンコーダ信号を入力し、エンコーダカウントを確認したが、カウント値が増減しません。

画像入力ボードは、オープンした直後の初期状態では、エンコーダ関連の動作を停止しております。
その為、オープン後、エンコーダ信号の入力だけではカウント値は増減いたしません。
エンコーダ関連の動作は、画像入力関数の実行を切っ掛けに、開始する仕様ですのでご注意ください。

また、エンコーダカウンタの増減に関しましては、エンコーダ起動モードの設定によって、開始するタイミングが以下の様に変わりますのでご注意ください。
・「0:CPU」:画像入力関数の実行がされ次第、エンコーダのカウントを始めます。
・「1:外部トリガ」:画像入力関数の実行がされると、外部トリガの入力を待ち、外部トリガを検出し次第、エンコーダのカウントを始めます。
・「2:Z相」:画像入力関数の実行がされると、Z相の入力を待ち、Z相を検出し次第、エンコーダのカウントを始めます。

なお、画像の取り込み後のエンコーダのカウントの挙動は、エンコーダパラメータの設定によって変わります。
「init(エンコーダカウンタ初期化設定)」を「1:画像入力が完了してもエンコーダカウントを初期化しません」に設定した場合は、画像の取り込み後もエンコーダ信号の入力に合わせてカウントが増減いたします。
「0:画像入力完了時にエンコーダカウンタを初期化します」に設定した場合は、画像の取込みが完了した際に、カウント値を初期化し、エンコーダカウンタの動作を停止しますので、この設定の場合は、画像取込み完了後にカウント値を取得すると値は常に「0」になりますのでご注意下さい。


仮想COMとは何ですか?また、仮想COMはどのようにすれば使用できますか?

仮想COMとは、カメラリンクI/F仕様の画像入力ボードの取り込みチャンネルごとに、カメラリンクケーブルにて仮想的なCOMポートを実現し、カメラとのシリアル通信を行えるようにする機能です
また、仮想COMを使用するためには、仮想COM用のドライバーをインストールする必要があります。

ドライバーのインストールについては、下記ドキュメントの「2.5 FVC07 シリアル通信ドライバー(仮想COM)インストールについて」をご参考にしてください。
・WIL導入の手引き セットアップ編(Ver3.1.0.x対応)
・WIL導入の手引き セットアップ編(Ver3.0.0.x対応)


複数枚の画像入力ボードに、同じエンコーダ信号を入力できるような製品はありますか。

エンコーダ出力信号を、8ポートの信号に分配するエンコーダ分配器「ENC-001」がありますのでこちらをご使用ください。

詳細は、枠下「詳しい解説のファイルはこちら」より「エンコーダ分配器ENC001 取扱説明書」をご参照ください。


Fullコンフィギュレーション(Deca、80bit含む)のカメラを使用する際、Base/Mediumコンフィギュレーション用のカメラリンクケーブルを使用することはできますか?

ノイズが乗る、撮像できない等、動作不安定の原因になります。
その為、ご使用のコンフィギュレーションに対応したカメラリンクケーブルをご使用ください。

なお、詳細はケーブルメーカーのWebサイトなどでご確認ください。

各種ドキュメントダウンロードはこちら


 

トラブル

FVC01/FVC02/FVC05で取込み画像が真っ黒になる。

FVC01/FVC02/FVC05の使用時には、カメラ電源供給ケーブルで給電する必要があります。このコネクタに電源が供給されない場合、カメラは動作しません。


FVC06で画像取り込みを試したら、タイムアウトが発生しますが?

次の点をご確認下さい。
①カメラの電源は供給されていますか。
カメラリンクインターフェースのカメラは、外部より電源を供給しなければ動作しません。
②取込先チャネルにカメラが接続されていますか。
③カメラの動作モードと、ソフトの動作モードは一致していますか。
例えば、カメラの設定は「ランダムトリガモード」で、ソフト側の取り込みを「ノーマルモード」で行った場合、取り込みのタイミングが合わず、タイムアウトとなります。


プログラム終了時にブルースクリーンが出るのですが。

取込動作途中にプログラムを終了していませんか?
もし取込動作中に終了していましたら、取込動作を完全に終了してからプログラムを終了してください。


WindowsPCに搭載しても、デバイスが認識されません。

デバイスドライバが正常にインストールされていない可能性があります。
ドライバをインストール後、デバイスマネージャからデバイスが正常に認識されているかご確認ください。


RICE-001(a/b/c)において、2ch同時取り込みを行うと、片側のチャネルの画像が乱れる。

RICE-001(a/b/c)は、各チャネルの同期が合っていることを前提とする画像入力ボードですので、同時取り込みを行うカメラ間で同期が取れていないと、画像が乱れてしまいます。
カメラ間の同期をあわせて下さい。


FV-GP440a/FVC08CLB/FVC10bでオープンに失敗する。

FV-GP440a/FVC08CLB/FVC10bの使用時には、画像入力ボードの電源コネクタに給電する必要があり、給電されない場合、オープンに失敗します。
画像入力ボードの電源コネクタに、PC電源等から給電してください。
なお、給電されていない場合、FV-GP440aはデバイスマネージャー上に表示されますが、FVC08CLB/FVC10bはデバイスマネージャー上に表示されません。


FCVC08CLBにて、カメラを4台接続した際、ビデオ入力チャネルとカメラの場所が合っていない様に思えるがなぜですか?

FVC08CLBのカメラリンクコネクタは、FV-GP440とは異なり、ビデオ入力チャネルの順番に並んではおりません。
ブラケットのネジ止め部から順番に、CN3、CN1、CN4、CN2となっておりますので、接続するコネクタにご注意ください。

コネクタの画像が、FVC08CLB取扱説明書の2頁「2.各部の名称」項にありますのでご参照ください。


かなり昔に購入したFVC05を、最近のPCに搭載した所、FVC05が認識されません。

FVC05の故障で無ければ、FVC05のRevisionが古い為に、認識していない可能性があります。
FVC05はRevision3以上で、Windows7以降に対応しておりますので、FVC05のREVシールの赤丸位置を確認してください。

Revision3で無い場合は、無償でリビジョンアップ対応致しますので、ユーザサポート、もしくは、担当営業までご連絡をお願い致します。


FVC07CLBでモノクロ3TAP出力を撮像した際に、2画素おきに黒い縦線が入るのですが、なぜでしょうか?

FVC07CLBのモノクロ3TAP出力対応は、リビジョン「Rev,5 Ed,0」以上になります。
また、対応ドライババージョンは「Ver1.4.0.35」以上、WILライブラリの対応は「Ver3.0.0.16」もしくは「Ver3.1.0.0」以上になっております。
この3項目の何れかが適していない場合、2画素おきに黒い縦線が入りますので、こちらを確認してください。

リビジョンとドライババージョンは「デバイスマネージャー」から確認できます。
「デバイスマネージャー」を開き「イメージングデバイス」にある「fvc07 Image Grabber」を右クリックしてプロパティ画面を開き、「Information」タブの「FPGA Revision」項目が、FVC07CLBのリビジョンになり、「ドライバー」タブの「バージョン」項目が、FVC07のドライバのバージョンになります。
WILライブラリのバージョンは、readme、もしくは、リリースノートから確認できます。

なお、FVC07CLBのリビジョンが「Rev,5 Ed,0」以上で無い場合は、無償でリビジョンアップ対応致しますので、ユーザサポート、もしくは、担当営業までご連絡をお願い致します。


PoCL対応ボードを使用中、カメラの電源を再投入しようとPCを再起動したのですが、カメラ設定がリセットされないのですが、なぜですか?

PoCL対応ボードのPoCL出力は、PCをシャットダウンしなければ、出力され続けます。
その為、カメラ電源を再投入する場合は、PCをシャットダウンする必要があります。


 

画像処理装置

全般

汎用画像処理装置とは何ですか?

FA向けの画像処理に最適化したPCです。
弊社製画像処理ライブラリで作成した、ユーザー独自のアプリケーションを実行することができます。又、様々なカメラとの接続や、外部機器との通信インターフェースが実装されていますので、用途に縛られることはありません。
記憶媒体はSSDを採用しております。

詳しくは、各装置の紹介ページをご覧ください。


汎用装置にインストールされている.NET Frameworkのバージョンを教えてください。

[FV2340-C7e32/W7e32]
.NET Framework 4.5.2
.NET Framework 3.5
.NET Framework 3.0
.NET Framework 2.0

[FV2340-C10e64/W10e64]
.NET Framework 4.6.2

[FV1410-C/W]
.NET Framework 4.7.2

[FV2330-W7e]
.NET Framework 4.0
.NET Framework 3.5
.NET Framework 3.0
.NET Framework 2.0


画像処理装置に接続するアース線の太さに推奨値はありますか。

機能接地端子(FG)に接続するアース線について、推奨する太さは決めておりませんが、一般的にアース線は太い方が効果があります。

AWG14/2sq程度のアース線を接続して頂ければと思います。


リチウム電池の型名について教えてください。

■FV2330およびFV2340シリーズの電池の型式は下記になります。
電池の型式:CR-2477/VCK


FV14x0系で上下反転で設置したいのですが可能ですか。

取付け方向に制限はないため、上下反対にしても問題なくご使用いただけます。
付属の取り付け金具を使用することで床面または壁面に固定して設置いただけます。


FV2340を使用しています。LANポートが2つありますがどちらも使用できますか。なにか設定等は必要でしょうか。

Windows版をご使用の場合は、2つのLANポートが使用可能です。
LNX版の場合は、1のみになります。

※設定について
DHCPサーバーのあるネットワークにつなぐ場合は、IPの自動取得に設定すればネットワークに接続可能です。
固定IPで使用される場合は、IPアドレスやサブネットマスク等の設定が別途必要です。


 

使用方法

システムソフトを再インストールしたいのですが?

システムソフトは、お客様のところではインストールできませんので、弊社ユーザーサポートにご連絡の上、装置に搭載されているSSD(またはCFカード)を送っていただくことになります。


FV1xx0-XPe、FV2xx0-XPe、のCFカードの中身を、カードリーダーを使って見ようとしましたが、Dドライブが表示されません。

装置のCFカードはリムーバブルディスクではなく、IDEのHDDとして
使用しており、CとDドライブにパーティションを分けています。
CFカードをUSBのカードリーダー等を介してPCに接続すると、リムーバブルディスクの扱いになるためドライブしか見ることができません。

Dドライブのバックアップをとる場合には、画像処理装置にUSBメモリ等を接続するか、ネットワーク経由で行ってください。


FV2340-C10e64を使用しています。.NET Framework 3.5 をインストールしたいのですが、エラ-になってしまいます。

FV2340-C10e64 で.NET Framework 3.5 を有効化するにはインストールメディアを用意する必要があります。

手順は下記のとおりです。

(1)Windows10 のインストールメディアを用意します。

メディアがない場合は、下記のURLよりダウンロードして作成してください。
https://www.microsoft.com/ja-jp/software-download/windows10

(2)インストールメディアをFV2340に装着します。

(3)管理者としてコマンドプロンプトを起動し、メディア内にある cabファイルを使用して
下記コマンドを実行して.NET Framework 3.5をインストールします。

DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:E:\sources\sxs

Source:E:\sources\sxs のドライブは、インストールディスクのドライブに変更してください。

cabファイルは、インストールディスクがEドライブの場合下記の場所にあります。
E:\sources\sxs

(4)コントロールパネル→ プログラムから
Windowsの機能の有効化または無効化 を開き、
「.NET Framework 3.5(.NET 2.0及び3.0を含む)」が有効になっているかご確認ください。


電源の即断に対応していますか?

対応していません。

システム起動中やファイル装置アクセス中(装置全面のHDD表示点灯中)に、電源を切ったりRESETスイッチを押すとファイルの内容に致命的な損傷を与える恐れがありますので、必ずシャットダウン機能を使用して電源を切ってください。
なお、ファイルの内容に致命的な損傷を与え、画像処理装置が起動しなくなった場合、システムソフトはお客様のところでは復旧はできません。
その場合、弊社ユーザーサポートにご連絡の上、装置に搭載されているSSD(またはCFカード)をお送りいただけなければ復旧できませんのでご注意ください。


電源コネクタのアース端子による保護接地と機能接地端子による機能接地は、どの様な効果がありますか?

保護接地は、漏電時等の感電等を防止する事が主目的で、ノイズの混入を防ぐ効果もあります。
機能接地は、装置と床面やラック等とのグランドレベルを合わせる時に使用する事が主目的で、ノイズの混入を防ぐ効果もあります。

接地に関しましては、電源コネクタのアース端子による保護接地は必須で、機能接地は通信が不安定だったり、ノイズの影響が懸念される時に必要に応じて、ご使用いただく事を推奨いたします。


 

トラブル

画像処理装置の修理を依頼したいのですが?

修理をご依頼の際は、「お問い合わせフォーム」に必要事項をご記入の上、ユーザサポートまで御送付下さい。
サポート担当者よりメール、または電話にて修理可/不可や送付先などを連絡致します。

なお、修理不可の製品については、下記の生産終了品ページから確認いただけます。
生産終了品


装置の貸出はできますか?

可能です。但し、装置によっては在庫が無く、用意できない場合もございます。
貸出申込みの手順につきましては、担当営業、又はユーザサポートまでお問い合わせ下さい。


使っている装置が修理可能か知りたいのですが?

生産終了品のページに、各製品の保守期限が記載されておりますので、こちらをご覧ください。

※生産終了品以外でも、保守用部材が入手できなくなった場合は対応できない場合がございます。ご了承ください。


電源を入れても全く反応しなくなってしまいました。

下記についてご確認ください。

■電源ケーブルは抜けかけていないか?

■電源スイッチ ON の状態で、PWR-SW(※)を押すと起動するか?
→起動する場合、再起動できるかお試しください。起動するのであれば、PWR-SW が OFF 状態の為起動していなかったと考えられます。

※PWR-SW について
本体全面にある小さな穴の中にあるスイッチです。
一般的な PC の電源スイッチに相当します。本体背面の電源スイッチが ON の状態で本スイッチを押すと、そのまま電源が OFF になります。もう一度本スイッチを押すと本体が起動します。

上記に該当しない場合、本体故障の可能性がありますので、ユーザサポートまで御連絡ください。


電源は入るのですが、HDDランプが点滅しません。

下記についてご確認ください。

■CF カード(PC カード)は挿入されているか?
→CF カード(PC カード)が挿入されていなければシステムは起動しません。

■現象の起きている装置に、別の CF カード(PC カード)を挿入しても起動しないか?
→起動する場合、CF カード(PC カード)の不良が原因と考えられます。ユーザサポー トまで御連絡ください。

■電源ケーブル、トラックボール以外のケーブルを外すと起動するか?
→起動する場合、外部ノイズパルスの影響により起動不良が起こっていた可能性があります。

上記に該当しない場合、故障又はBIOS設定が消去(※)された可能性がありますので、ユーザサポートまで御連絡ください。(拡張ボードが故障していても装置が起動しないことが有ります)

※BIOS 設定消去について
FV902 シリーズ及び FV2200/A1、FV2200/A1 は、マザーボード上に搭載されたボタン型電池にて BIOS 設定を保持しております。電池残量が少なくなると BIOS 設定は消去され、装置が起動しなくなります。この電池は、装置が無
通電状態でも消耗しますので、使用年数が長い装置での発生確率が高くなります。
電池残量が少なくなった場合、弊社にて復旧作業を行う必要があります。


稼動中にハングアップするのですが。

下記についてご確認ください。

■モニタ上にエラーメッセージは出力されるか?
→エラーが出力される場合、メッセージ内容をユーザサポートまで御連絡ください。

■ユーザーソフトの動作実績はあるか?
→動作実績がない場合、ユーザーソフトバグの可能性も考慮する必要があります。
何の処理を行った時点で止まるか等をお調べください。

■現象の起きている装置に、別のSSDを挿入して同じプログラムを実行してもハングアップするか?
→再現しない場合、SSDに何らかの問題があると考えられます。
ユーザサポートまで御連絡ください。

■外気温が異常に高くないか?
→外気温が高い場合は、周辺温度を下げるなどして動作をお試し下さい。
動作周囲温度は 0~40℃です。

■吸気口・排気口は汚れていないか?
→汚れていると、排熱効率が悪くなります。汚れを取り除いて動作をお試し下さい。

■吸気口・排気口の前に物が置かれていないか?
→通風口をふさぐと内部温度が上昇し、内部温度が上昇します。障害物を取り除いて動作をお試し下さい。通風口前には最低 50mm程度の空間をあけてください。

■外部機器との通信中にハングアップしていないか?
→通信系の機器類をご確認ください。

■同一機種の別の画像処理装置を、同じ場所に組み込んでもハングアップするか?
→ハングアップする場合、本体以外に問題があると考えられます。

上記に該当しない場合、本体故障の可能性がありますので、ユーザサポートまでご連絡ください。


モニタに何も表示されないのですが。

下記についてご確認ください。

■モニタ電源は入っているか?

■モニタを他の物に変えても画面は表示されないか?

■映像出力ケーブルが抜けかけていないか?

■映像出力ケーブルを他の物に変えても画面は表示されないか?

■同一構成の画像処理装置を、同じ場所に組み込んでも画面は表示されないか?
→表示されない場合、本体以外に問題があると考えられます。

上記に該当しない場合、本体故障の可能性がありますので、ユーザサポートまで御連絡ください。


他の機器と通信できません。

下記についてご確認ください。

■通信ケーブルが抜けかけていないか?

■通信ケーブルを他の物に変えても通信できないか?

■周囲に振動やノイズパルスを発生させる機器はないか?
→ケーブルにノイズが乗ると、通信が乱れることがあります。

■通信ケーブルを、他のケーブル類と束ねていないか?
→他のケーブルからノイズが乗りことがあります。

■通信ケーブルの配線は正しいか?

■通信設定は正しいか?

■同一構成の画像処理装置を、同じ場所に組み込んでも通信できないか?
→通信できない場合、本体以外に問題があると考えられます。

上記に該当しない場合、本体故障の可能性がありますので、ユーザサポートまで御連絡ください。


カメラから正常な画像が取り込めません。

下記についてご確認ください。

■カメラケーブルが抜けかけていないか?

■カメラケーブルを他の物に変えても現象は再現するか?

■他のカメラでも同様の現象は再現するか?

■カメラの電源は入っているか?

■使用するカメラが正しく選択されているか?(FVC02,FVC05 搭載時)
→カメラの選択が異なる場合、画像を正常に取込めません。
※カメラ選択についてはシステム操作説明書(DOS版、LNX版)をご覧下さい。
プログラムからカメラを選択する場合はライブラリ説明書をご覧下さい

■ソフトウェア側とカメラ側のモード設定が合っているか?
→モード設定(ノーマル、内部トリガ、外部トリガ)が正しくなければ、正常に画像を取込むことができません。
※カメラの設定についてはカメラ設定説明書をご覧ください。

■周囲に振動やノイズパルスを発生させる機器はないか?
→ケーブルにノイズが乗り、画像が乱れることがあります。

■カメラケーブルを、他のケーブル類と束ねていないか?
→他のケーブルからノイズが乗りやすくなります。

■同一構成の画像処理装置を、同じ場所に組み込んでも取込異常は再現するか?
→再現する場合、本体以外に問題があると考えられます。

上記に該当しない場合、本体故障の可能性がありますので、ユーザサポートまで御連絡ください。


ネットワークの場所の追加を行いファイル共有を行ったところ、「XXXにアクセスできません」のエラーになります。

WindowsOSのPCで共有フォルダにアクセスする際は「SMB 1.X」というファイル共有の通信プロトコルを使用している場合があり、クライアント側で「SMB 1.0」の機能が有効化されていないと共有フォルダにアクセスできないことがあります。

その為、下記の方法等で、SMBS 1.0を確認し、有効化してください。
1.コントロールパネルを開き、プログラムを選択します。
2.Windowsの機能の有効化または無効化を選択します。
3.「SMB1.0/CIFSファイル共有のサポート(SMB1.0/CIFS File Sharing Support)」にチェックが入っているか確認してください。
4.チェックがない場合は、チェックを入れOKを選択し、再起動をしてください。


画像処理装置を再起動させる為、シャットダウン後、背面の電源スイッチを一旦OFFにし、すぐに再度ONにしたが、起動しません。

電源スイッチOFF後に再投入(ON)にする場合は、FV2340シリーズは30秒以上、FV1410シリーズは5秒以上の時間をおかなければ、起動しないことがありますので、時間を置いてから、再投入(ON)してください。
なお、再投入(ON)で起動しなかった場合は、前面のPWR-SW(丸ボタンスイッチ)を押すことにより画像処理装置を起動させる事ができます。


FV2340で、ダブルモニタにする為、DVI-IコネクタにDVI-VGA変換アダプタを使用して、VGAモニタを接続したが、映像出力されません。

FV2340のDVI-Iコネクタは、アナログ信号の出力がありません。
その為、DVI-VGA変換アダプタを使用しても、VGAモニタへの映像出力は行われません。
FV2340のDVI-Iコネクタには、DVI対応モニタをご使用ください。

DVI-Iコネクタの信号の詳細は、FV2340取扱説明書の27頁「4.3.7 DVI-I(DVI-D signal)コネクタ」項にありますのでご参照ください。


Dドライブにあるドキュメントフォルダを消してしまい、挙動がおかしくなりました。手元で復旧は可能ですが。

ダウンロード、ドキュメントなどの個人フォルダーを削除された場合、お手元で復旧いただくことはできません。

SSDをお送りいただき、初期化して返却させていただきますので、サポートまでご連絡をお願いいたします。


F23x0 W7eでWebページを参照しようとしましたが、”このページは表示できません”を表示がでてきてアクセスができません。

FV23x0-W7eでデフォルトでインストールされているブラウザはInternetExploreですが、こちらはサービスが終了しております。
Microsoft Edge 等をインストールしてご使用ください。


 

カメラ・光学

全般

カメラ設定ファイル(.ini、xml)が欲しいのですが

こちらよりダウンロードいただけます。

未対応のカメラの設定ファイルをご希望の場合は、
担当営業までお問い合わせください。


カメラ設定ファイル(.ini、xml)の内容が知りたいのです

カメラ設定ファイルの各パラメータの詳細は公開しておりません。

これは、カメラ設定ファイルが、ライブラリ、ボードに対して、汎用的な初期設定を行う事を目的としており、基本的に編集せずに使用するファイルと位置付けている為です。

不適切なパラメータに変更するとトラブルの原因になりますので非公開とさせていただいております。
ご了承ください。


使用したいカメラが対応しているか知りたいのですが

カメラ対応一覧表をご参照ください。
記載のないカメラについては、担当営業にご相談ください。


カメラは、どの様な設定にすれば良いですか?

全ての対応カメラ分を用意できていないのですが、カメラ設定説明書がありますので、これを参考にカメラの設定を行ってください。

カメラ設定説明書は、弊社webのカメラ設定説明書(18版)と、カメラ設定ファイルダウンロード頁の各画像入力ボードの設定説明書項にあります。

また、下記ライブラリと画像入力ボードの組み合わせでは、ライブラリ側がカメラにコマンドを送信し、最低限の設定を行います。
なお、カメラの設定は、工場出荷状態である事を前提としています。
・WILライブラリ:FVC08
・WIL FCIライブラリ:FVC10
・LNXライブラリ:FVC06、FVC07、FVC08、FHC3312、FHC3313


カメラリンクケーブルは、最大メートルまで使用できますか?

カメラリンクケーブルの規格では、最大ケーブル長は10メートルになります。
ですが、データを伝送できるケーブル長はケーブルの性能、クロック周波数、TAP数等によって変化します。

例えば、早いクロック周波数では、10メートルより短くなければ正常に撮像できないこともあります。
従いまして、長いケーブル長での使用を検討されている場合は、事前に接続確認を行われる事を推奨致します。


カメラメーカーのツールでカメラの設定を行おうとした際に、カメラ設定説明書にある設定項目が<使用できません>と表示されたり、パラメータ自体が表示されない事があり、変更できません

カメラメーカーのツールの中には、その時のカメラの設定によって、設定可能な項目が変化し、その時のカメラの設定では効果が無い項目か、組み合わせ的に設定ができない項目がマスクされる場合があります。
別の項目を設定すると、設定可能になりますので、先に別の項目の設定を行ってください。


 

画像処理全般

全般

位置決めに適した画像処理はありますか。

・Blob検出
・ハフ変換(ライン、円等)
・パタンマッチング(GS2, FPM2サーチ)

どの手法が適しているかは、対象物の形状や求める精度により変わります。
大きさのあるはっきりとした円の場合はBlob検出が有効です。
なお、Blob検出では精度が足りない場合は、ハフ変換やサーチを検討してください。


GS2とFPM2の違いについて教えてください。

■グレイサーチ
・アルゴリズム概要
対象物の二次元濃淡分布を特徴量とし、正規化相関演算によりテンプレートと探索対象の一致度を評価するサーチ手法です。

・長所
高速動作が可能です。
多少のノイズや見え方の違いがあっても影響されにくいです。
処理時間が短いため、各種フィルタと組み合わせやすく
様々なテーマに適用可能です。

・短所
シェーディング、汚れの付着、背景の変化の影響を受けます。
回転、スケール変化に対応していません。
数画素間隔で白黒が変化するような対象物はサーチできない可能性があります。

■FPM2
・アルゴリズム概要
対象物の輪郭が形成するエッジ分布を特徴量とし、
多数決方式により一致度を評価するサーチ手法です。

・長所
回転、スケール変化に対応が可能です。
汚れの付着による欠損の影響を受けません。
対象物の一部が隠蔽されている場合や、
視野外にある場合でも探索が可能です。
シェーディングの影響を受けにくいです。
光量変化に応じてパラメータを調整する必要が少ないです。
ボケによる精度の低下を抑制されます。
対象物のコントラストが低い場合のノイズの影響を低減しています。

・短所
パラメータの種類がグレイサーチに比べ煩雑です。
2値計測、グレイサーチに比べて処理時間が掛かります。


画像から円または楕円を検出するにはどのような方法がありますか。

円検出については、下記の4つの検出方法があります。

①2次元エッジ検出→円ハフ検出

②1次元エッジ検出(放射線)→円近似

③Blob検出の特徴量を利用する

⑤GS2やFPM2等のマッチング

楕円検出については、下記の2つの検出方法があります。

①1次元エッジ検出(放射線)→楕円近似

②GS2やFPM2等のマッチング

※1次元エッジ検出を使用する際、
対象物のおおまかな位置の特定が必要です。

マッチングの場合は、対象物の形状があまり変わらない、スケーリングがない(GS2)、輪郭のエッジがきちんと取得できる(FPM2)などの条件があります。


直線や曲線などの線の長さを計測したいが方法はあるか。

良好に2値化が可能な画像であれば、Blob計測を利用する方法があります。

Blobの周囲長の1/2とすることで対象の長さが求まります。
事前に細線化フィルタを実行することでより正確な回答が得られます。


カラー画像処理にはどのようなものがありますか

カラー画像処理には、色の特徴量(色標)を抽出し、色標を利用して処理を行う【色彩検査】と入力されたカラー画像を別の色空間や濃淡画像に変換する【色空間変換】や【画像変換】などがあります。

【色彩検査】には、特定の色を抜き出す:色抽出処理や、対象の色を判定する:色判定処理などがあります。

【色空間変変換】や【画像変換】は、入力された画像を目的のデータが抽出できるような画像に変換するために用います。
マッチングやエッジ検出などの他の画像処理の前処理としてよく利用されています。


カラー画像を濃淡化して画像処理を行ったのですが、期待した結果になりません。濃淡化以外に、カラー画像を濃淡画像に変換する関数はありませんか?

複数枚画像への分割クラスにて、カラー画像を、赤成分、緑成分、青成分に分割する事ができます。
分割した色成分によっては良好な結果がでることがありますのでお試しください。

また、他には、色空間変換クラス、色彩特徴量画像の生成(HSV色空間基準)クラスがありますので、こちらもお試しください。


 

PyFIE

全般

PyFIEとは何ですか?

PyFIEは、C言語関数のライブラリであるFIEライブラリ(FAST Image Engine)を、Python上で使用可能にする画像処理ライブラリです。


PyFIEの対応OSは何になりますか。

PyFIEの対応OSは以下になります。

1.WIL PyFIE
・Windows11[64bit]
・Windows10[64bit]

2.PyFIE for Linux
・Ubuntu 20.04.5 LTS[64bit]
・Ubuntu 18.04.4 LTS[64bit]
・Ubuntu 18.04.2 LTS[64bit]


PyFIEの説明書はどこにありますか?

弊社webよりダウンロードできるPyFIEライブラリに、PyFIEの説明書「pyfie_doc.html」が同梱されていますのでご覧ください。

また、下記URLで公開もしていますので、合わせてご活用ください。
PyFIE ライブラリ説明書


PyFIEの動作環境を教えてください。

PyFIEの動作環境としては、Python 3.6.0以上のバージョンが必要です。


PyFIEのサンプルコードはどこにありますか?

PyFIE ライブラリ説明書の「サンプルコード」項の各項目の最下部からダウンロードできます。

また、弊社webのPyFIE サンプルプログラム集にサンプルコードがありますので、こちらもご活用ください。


初期設定など、PyFIEを使う手引きとなる資料はありませんか?

PyFIE ライブラリ説明書の、「はじめに」項、「チュートリアル」項に記述がありますのでご参照ください。

また、WIL PyFIEに関しましては、弊社webの導入の手引きにある「PyFIEプログラマーズガイド プログラム作成」にて、環境設定やプログラミング方法について解説しておりますので、こちらも合わせてご活用ください。


Visual Studio Codeを日本語化する方法を教えてください。

Visual Studio Codeの表示言語を日本語化する方法は下記になります。
1.Visual Studio Codeのサイドバーに表示されている「Extensions」のアイコンをクリックしてください。
2.Extensionsの検索ボックスが表示されるので、「Japanese Language Pack」と検索してください。
3.表示された Extensions の一覧の中から「Japanese Language Pack for Visual Studio Code」をクリックしてください。
4.「Japanese Language Pack for Visual Studio Code」の画面が表示されますので、「install」をクリックしてください。
5.反映する為にVisual Studio Codeの再起動を行います。インストール完了後に画面右下に「Restart」と表示されるのでクリックしてください。


実行すると、F_ERR_NO_LICENCE(ライセンスエラー)が出力されるのですが?

PyFIE ライブラリ説明書の「はじめに」項にインストール方法の記述がありますのでご参照ください。

また、WIL PyFIEに関しましては、弊社webの導入の手引きにある「PyFIEプログラマーズガイド プログラム作成」の「2. 環境設定」にインストール方法の記述がありますので、こちらも合わせてご活用ください。


バージョンアップの方法を教えてください。

PyFIE ライブラリ説明書の「はじめに」項に、PyFIE のアップデート方法の記載がありますのでご参照ください。

なお、インストール済みのPyFIEのバージョンが3.7.2.4以下の場合、PyFIEをアンインストールした後に、希望のバージョンをインストールする方法になりますのでご注意ください。


インストールしているPyFIEのバージョンが判りません。

PyFIEの必須条件であるPython 3.6.0以上のバージョンには、pipパッケージマネージャがインストールされておりますので、「pip list」コマンドにて確認が可能です。
「fast-pyfie X.X.X.X」と表示されますので、「X.X.X.X」がバージョンになります。

弊社webの導入の手引きにある「PyFIEプログラマーズガイド プログラム作成」の「2.3 PyFIE のインストール」にバージョン確認の記述がありますので、こちらも合わせてご活用ください。


実行すると、F_ERR_NO_LICENCE(ライセンスエラー)が出力されるのですが?

PyFIEは、ライセンスキーで認証を行っていますので、動作するPCにライセンスキーを挿し、ライセンス解除を行ってください。


ライセンスキーを装着しているのに、F_ERR_NO_LICENCE(ライセンスエラー)が出力されます。

よくある原因としては下記のものがございます。

(1)ドライバーが正常にインストールされておらず、ライセンスが認識されない。
(2)使用ライブラリのライセンスキーではなく、別のライブラリのライセンスキーを差している。
・WIL PyFIE:WIL標準ソフトウェアRTL
・PyFIE for Linux:FIE標準ソフトウェアRTL
(3)ライセンスキー自体が故障している。

まず、デバイスマネージャー等にて、ライセンスキーをPCが認識しているかご確認ください。
認識は問題無いがライセンスが解除されていない場合、別のライセンスキーをお持ちの場合、差し替えてどうなるかお試しください。
それでも解決しない場合は、ユーザサポートまで御連絡ください。


 

トラブル

Visual Studio Codeで「line too long (XX > 79 characters)Flake8(E501)」のエラーが出て、実行できません。

Pythonには、一行の文字数は最大79文字と言うスタイルガイドがあり、これは一行の文字数が80文字以上な為に発生しているエラーになります。

回避方法としましては、改行、バックスラッシュ、丸括弧とシングルクォーテーション等を用いて、一行の文字数を79文字以下にする事になります。


Visual Studio Codeで「at least two spaces before inline comment Flake8(E261)」のエラーが発生します。

Pythonには、インラインコメント(コード記述に続けたコメント文)の前には少なくとも2個以上のスペースが必要であると言うスタイルガイドがあり、これは「#」の前の半角スペースが1個以下である為に発生しているエラーになります。
インラインコメント前の半角スペースの数を2個以上にしてください。


 

FAST Vision Library for LNX

全般

開発環境のバージョンをチェックするにはどこを見ればよいのですか?

各ファイルのタイムスタンプの時間表示部分がバージョンを表しています。(例: 2:00 の場合は バージョン2.00)


FVL/90Xシリーズとの互換性はありますか?

基本的にはソース互換ですが、異なる点もあります。詳細は「FVL/LNX開発手順補足説明書」をご参照下さい。


LNXでのFTPサーバに接続する際のユーザ名、パスワードは何です。

Ver2.70より下記のユーザー名とパスワードで接続できます。

ユーザ名  : lnxroot
パスワード : lnxroot


開発環境のバージョンアップ方法を教えてください。

1.インストール方法
必要なバージョンを下記URよりダウンロードし、インストーラーを実行して装置にインストールしてください。

https://survey.zohopublic.com/zs/CmC0yl

※古いバージョンの場合、インストール時にパスワードを要求される場合があります。パスワードが必要な場合はユーザーサポートまでお問い合わせください。
なお、複数のバージョンのインストールが可能となりましたので、以前のバージョンを残したままインストールが可能です。
(古いバージョンが不要な場合は適宜アンインストールしてください)

2.コンパイル方法
アプリケーションのコンパイルは、適用したいバージョンのフォルダ内にあるFXccIDEを使用してコンパイルします。

例:3.80の環境でコンパイルしたい場合は、C:\FVLLNX\3.80\FXccIDEにある『FXccIDE.exe』を使用してコンパイルしてください。


画像処理機のシステムのバージョンアップ方法を教えてください。

FVL/LNX専用のイメージ書き込みソフト:FXDDを使用して、イメージを書き込むことでバージョンアップが可能です。

ツール、およびイメージの入手については、ユーザーサポートにお問い合わせください。


装置のバージョンとアプリケーションのバージョンが異なる場合、正常に動作しますか。

システムが古く、アプリケーションのバージョンが新しい場合、動作しない可能性があります。

反対にアプリケーションのバージョンがシステムより古い場合は、必ずしも問題が出るわけではないのですが、動作確認していないため保証できません。

システムとプログラムは同じバージョンでの使用をお願いいたします。


FV2340-LNXにモニタを接続しないで起動し、数分から十数分放置すると再起動する。

LNXシステムVer4.30で修正した不具合に該当します。
FV2340-LNXのシステムをVer4.30以上にバージョンアップしてください。
バージョンアップ方法が分からない場合は、弊社ユーザーサポートまでご連絡ください。


『Cannot Open XXXXXX Lib』のようなエラーが出力されるのですが対処法はありますか。(XXXXXX には、FIE_FPM や Color Search といったライブラリ名?が表示されています)

LNXシステム関連ファイルがオープンできない場合に表示されるものです。
(システムの起動時やユーザーアプリケーション起動時に表示)

通常では削除されないファイルですので、SSD(もしくはCFカード)内のファイルが破損している可能性があります。
イメージの書き直しを検討ください。

イメージの書き直しについては、ユーザーサポートまでお問い合わせください。


 

撮像

対応する画像ファイルのフォーマットは何ですか?

raw,bmp形式に対応しております。


カメラリンクI/F規格のカメラが接続されているか、確認する方法はありますか?

Lib_capt_get_camera_status()関数にて、カメラの接続状態の取得をすることができますので、こちらをお使いください。

Lib_capt_get_camera_status()関数は、カメラから出力されるクロック信号が確認できる場合「1(カメラ接続中 )」が戻り値となり、カメラのクロック信号を確認できない場合に「0(カメラ未接続)」となりますので、この戻り値にて確認してください。


FV2350-LNXでは、FV2340-LNXで使用していたカメラ設定ファイルが読み込めなくなりました。仕様が変わったのでしょうか。

FV2350-LNX (Ver5.0)より、カメラ設定ファイルがiniファイルからxmlファイルに変更されました。そのため以前の装置で使用していたカメラ設定ファイルは使用できません。

Ver4.x まで『xxxxxxx.ini』
Ver5.x 以降『xxxxxxx.xml』

使用したいカメラの設定ファイルがない場合は、担当営業またはカスタマサポートまでご相談ください。


 

画像処理

ファイル名やドライブを指定する際の指定方法についておしえてください。どちらも先頭に\\が必要だと考えていましたが、\\FSOと指定するとエラーになりました。仕様をおしえてください。

仕様は下記のようになっています。
※パス内の¥¥については、実際のコードでは半角で指定してください。

1.フォルダを指定する場合は、先頭に”¥¥”をつけずに指定します。

例:”FS0″, “STORAGE”, “EXECUTOR”

サブフォルダを指定する場合も先頭に”¥¥”はつけずに指定可能です。

例:”FS0¥¥DATA”, “FD0¥¥DATA”

ただしサブフォルダの場合は

例:”¥¥FS0¥¥DATA”, “¥¥FD0¥¥DATA”
として、先頭に¥¥をつけても動作いたします。

2.フルパスでファイル名まで指定する場合は、先頭に”¥¥”をつけます。

例:”¥¥FS0¥¥TEST1.DAT”
“¥¥FD0¥¥TEST2.DAT”
“¥¥FS0¥¥DATA¥¥TEST1.DAT”
“¥¥FD0¥¥DATA¥¥TEST2.DAT”

なお、下記のように先頭の¥¥をつけなくても動作いたします。

FS0¥¥TEST.DAT
FD0¥¥TEST.DAT
FS0¥¥DATA¥¥TEST.DAT
FD0¥¥DATA¥¥TEST.DAT


FIO01からFV-II320に置き換えることになりました。LNXで問題なく動作しますか。動作する場合、ソースコードの修正は必要ですか。

仕様は下記のようになっています。
※パス内の¥¥については、実際のコードでは半角で指定してください。

1.フォルダを指定する場合は、先頭に”¥¥”をつけずに指定します。

例:”FS0″, “STORAGE”, “EXECUTOR”

サブフォルダを指定する場合も先頭に”¥¥”はつけずに指定可能です。

例:”FS0¥¥DATA”, “FD0¥¥DATA”

ただしサブフォルダの場合は

例:”¥¥FS0¥¥DATA”, “¥¥FD0¥¥DATA”
として、先頭に¥¥をつけても動作いたします。

2.フルパスでファイル名まで指定する場合は、先頭に”¥¥”をつけます。

例:”¥¥FS0¥¥TEST1.DAT”
“¥¥FD0¥¥TEST2.DAT”
“¥¥FS0¥¥DATA¥¥TEST1.DAT”
“¥¥FD0¥¥DATA¥¥TEST2.DAT”

なお、下記のように先頭の¥¥をつけなくても動作いたします。

FS0¥¥TEST.DAT
FD0¥¥TEST.DAT
FS0¥¥DATA¥¥TEST.DAT
FD0¥¥DATA¥¥TEST.DAT


FV2350-LNXでLib_gs_ptn_getが使用できないのですが。

Lib_gs_ptn_getは、Ver5.00より、名称及び仕様が変更されました。

Ver5.00からはLib_gs_get_ptn_dataをご使用ください。

***********************************************************************************
void* FVLCALL Lib_gs_get_ptn_data( int patan_name)

※patan_nameは パタン名称になります。
***********************************************************************************

変更点:戻り値がintからポインタへ変更になりました。
エラー発生時はNULLが返ります。


 

Linuxシリーズ

全般

FV2340のOSは、Ubuntu 18.04のままですか。いずれは、Ubuntu 22.04がインストールされて出荷されるのでしょうか。

FV2340-Linuxは、『Linux Ubuntu 18.04』 のみでの出荷となります。
Ubuntu 22.04に変更したり、併用の予定はありません。


 

PAGE TOP