basler製のカメラ
2022年 03月 07日 月曜日
basler製のTOFカメラを2Dカメラとして使うときの嵌りごと
- pythonを用いてbasler製のblaze-101から画像を取得する際に、いろいろハマっのでメモっとく
blaze-101とは
- basler製のTOFカメラ
- TOF: 測量手法の一つで、光の飛行時間(光がぶつかってから、跳ね返ってくるまでの時間)を使うやつ
- 2D撮影もできる(グレースケール) ※ オプションで2Dカメラ関連を増強できたような気がする
- TCP/IPを用いてデータを送受信している
- C++, C#, pythonについてはライブラリが用意されてる
- 基本的にインターネットの世界にいい感じの情報が見当たらない、本当に困ったらサポートに連絡が必要になる
- 安定化電源+専用ケーブルを用いる構成だと、物理層セットアップが5minとかでは終わらない
2dカメラとしてblaze-101を扱う際の pypylon vs Harvester
- pypylon, Harvesterともにpythonで利用可能なpkg
共通項目
- カメラへの接続から画像取得までを一括で設定できる
- パラメータ調整が難しそうなので、OpenCvなどを用いて画像を加工すると楽なケースあり
- 基本的にインターネットの世界にいい感じの情報が見当たらない
pypylonについて
- baslerのgithubにレポジトリが存在してるが公式サポートされていない (https://github.com/basler/pypylon)
- サンプルコードが動かないことが多々ある(値設定すらままならなかった)
- 画像生成のサンプルコードについては動作するが、画像がバイナリそのままっぽい感じのデータになっちゃう
- ホスト側のマシンにてネットワークの設定がいい感じでも、dockerコンテナ上でサクッと動かない (調査時間がほぼないため原因はあんまり分かってない)
Harvesterについて
- GUIツールで表示される画像はHarvesterを使用している
- baslerのgithubにレポジトリがしていないが、こっちはサポートされてる雰囲気を感じる
- pythonのバージョンに気をつければ、サンプルコードがいい感じに動く
- 古いバージョンだと、APIが微妙に違いサンプルコードが動かないのでpip listとかで確認しておく
- ホスト側のマシンにてネットワークの設定がいい感じだと、dockerコンテナ上でサクッと動く
最後に
- とりあえず、Harvester使っておいた方が良いかと思いました
この記事をシェア