basler製のカメラ

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使っておいた方が良いかと思いました
この記事をシェア

弊社では、一緒に会社を面白くしてくれる仲間を募集しています。
お気軽にお問い合わせください!