トラブルシューティング#
プログラムの実行時に例外がスローされます。例外メッセージ:
BaslerGTC/Basler/GenTL_Producer_for_Basler_blaze_101_camera could not be created.
原因:pylon Supplementary Package for blazeによって提供されるblazeカメラ用のGenTL Producerが見つかりません。
解決方法: カメラの GENICAM_GENTL64_PATH 環境変数が正しく設定されています。変数には次のフォルダが含まれている必要があります:
Windows: <PYLON_ROOT>/Runtime/x64
Linux: <PYLON_ROOT>/lib/gentlproducer/gtl
You can use the pylon-setup-env.sh script, located in the <PYLON_ROOT>/bin directory. To set up the environment for a pylon installation in /opt/pylon, execute:
If you want the environment to be persistent, you can add
to ~/.bashrcIf you do not use this script, you will have to set up your environment as follows:
CMakeから多くの警告が出力されます。
原因:PCLのバージョンによっては、PCLのCMake設定ファイルが原因で多くの警告が発生します。
解決策:Basler blazeサンプルをビルドおよび実行する目的において、これらの警告は通常無視しても問題ありません。
警告の数は、 -Wno-dev コマンドラインオプションをCMakeに渡すことで減らすことができます。
Windowsのみ:opencv_world*.dllファイルが見つからないため、OpenCVを使用するサンプルの実行に失敗します。
原因: OpenCVへのパスが PATH 環境変数に追加します。
解決方法: OpenCVのインストールパスを次に追加する必要があります: PATH 環境変数に追加します。 PATH環境変数へのOpenCVの追加.
Windowsのみ:OpenNI2.dllファイルが見つからないため、PCLを使用するサンプルの実行に失敗します。
原因:PCL All-in-One Installerは、OpenNI2.dllをPATHに含まれない場所にインストールします。
解決方法: PCLインストーラはDLLを次の場所にインストールします: %ProgramFiles%\OpenNI2\Redist フォルダ。このフォルダを PATH 環境変数に追加するか、 OpenNI2.dll をPCLバイナリが配置されているフォルダ(例:)にコピーしてください。 %ProgamFiles%\PCL 1.11.1\bin.
Windowsのみ:PCLを使用するサンプルは、 CMAKE_BUILD_TYPE が次のように設定されている場合、自動的に無効になります: RelWithDebInfoのときにビルドに失敗するか、 CMAKE_BUILD_TYPE が次のように設定されている場合: RelWithDebInfo でビルドされたサンプルが実行時にクラッシュします。
原因: PCLによる RelWithDebInfo 構成が破損しています。PCLが視覚化タスクで使用するVTKライブラリのリリースバージョンをリンクする代わりに、デバッグバージョンがリンクされています。これにより、Microsoft C++ランタイムライブラリのデバッグバージョンとリリースバージョンの両方を参照するライブラリが混在し、リンカーが実行ファイルをリンクできなくなるか、実行時にクラッシュが発生します。
解決策 1: 選択 Release の代わりに RelWithDebInfo.
注意
Visual Studio の CMake サポートにより、CMake のビルドタイプは自動的に次のように設定されます。 RelWithDebInfo ビルド構成の作成時に Release ファイルを手動で編集し、次のフィールドの値を変更する必要があります。 CMakeSettings.json ファイル configurationType 変更元: RelWithDebInfo を Release.
解決策 2:
- のコピーを作成します。
%ProgramFiles%\PCL x.y.z\3rdParty\VTK\lib\cmake\vtk-x.y\VTK-Targets-debug.cmakeファイル。 - コピーの名前を変更します:
VTK-Targets-relwithdebinfo.cmake. - テキストエディターでファイルを開き、次の文字列のすべてのインスタンスを置換します。
RELEASE置換先:RELWITHDEBINFO. - CMake キャッシュをクリアし、キャッシュを再生成します。
表示フレームレートが低い。
原因: デバッグモードでは、コンパイラは最適化を行わずにコードを生成します。
解決策: アプリケーションがリリースモードでビルドされていることを確認してください。
Windows のみ: リンカーが 32 ビットライブラリと 64 ビットライブラリの混在に関する警告を出力する。
原因: アプリケーションをリンクする際、すべてのバイナリは 32 ビットまたは 64 ビットのいずれかで統一されている必要があります。1 つの実行ファイル内で 32 ビットライブラリと 64 ビットライブラリを混在させることはできません。
解決策: Visual Studio のソリューションファイルを生成する際に、OpenCV および PCL ライブラリがビルドされたプラットフォーム(x86 または x64)と同じプラットフォームをターゲットにしていることを確認してください。
アプリケーションがクラフトまたは強制終了された後、アプリケーションの再起動時に device is already connected エラーメッセージが発生する。
原因: アプリケーションが予期せぬ形で終了した場合、カメラとの接続を正常に切断できません。カメラは新しい接続を受け入れるまで、GigE Vision のハートビートタイムアウトが満了するのを待機します。
通常、これはデバッガー下でアプリケーションを実行しており、pylon 7.0 以前を使用している場合に発生します。以降の pylon バージョンでは、プログラムの終了時にカメラ接続が自動的に切断されます。
解決策: ハートビートタイムアウトを延長している場合、または pylon 7.0 以前を使用してデバッガー下でアプリケーションを実行している場合は、カメラの電源を入れ直すか、ネットワークからカメラを短時間切断する必要があります。
GigE Vision ハートビートタイムアウトの制御方法の詳細については、C++ アプリケーションのデバッグと GigE Vision ハートビートの制御または.NET アプリケーションのデバッグと GigE Vision ハートビートの制御のセクションを参照してください。