(01)Python+pypylonで産業用カメラ制御

2nd June 2024 at 8:48pm

pypylon」は、「Basler pylon Camera Software Suite」の公式pythonラッパーです。Basler社が手がけるカメラAPIのオープンソースプロジェクトです。

Basler社の産業用カメラを簡単に使える非常に便利なライブラリです。しかも、「BSD 3-Clause」(三条項BSDライセンス)とういう利用制限のあまりないライセンスです。

準備します

Windows10 64bitを対象とします。

Pythonを準備します。

WinPythonAnacondaなど、いろいろなモジュールが最初からそろっているPythonディストリビューションを利用すると便利です。

「pypylon」のGitHubのページに「Getting Started」があるので、それに従います。

  1. pylonをインストールします 。
  2. Pythonに「pypylon」をインストールします。
    • pip install pypylon
    • python -m pip install pypylon など

私はWinPythonを良く使うのですが、python.exeのあるフォルダでDOSプロンプトを開き、python -m pip install pypylon でインストール可能です。

この方法は、pip.exeのパスが通っているかどうかは関係ないので便利です。

「OpenCV」と「NumPy」が入っていなければ、入れておきましょう。

python -m pip install opencv-python

python -m pip install numpy

これで準備OKです。

ReadMe」が親切なので、読んでみることをお勧めします。

試してみましょう

お手軽に試したい場合は、こちらにある私の自作サンプル「wk_camera_pylon.py」を試してみるのも良いかと思います。(「MIT license」なので適当にいじってみてください)

ダウンロードし、python.exeと同じフォルダにあるLibフォルダに入れて以下を実行してください。

from wk_camera_pylon import *

cam = CameraPylon()
cam.open()
cam.view()

OpenCVの「imshow()」を使った簡易なビュアーが立ち上がります。[ESC]キーで終了します。cam.view(0)とすれば1ショットごとに一時停止します。

[p]キーを押すと露光時間・ゲインのパラメータを変更することができます。

img = cam.grab()

で画像を取り込みます。全ての画像はRGB画像に変換されます(画像データはBGR配列)。NumPyの配列ですのでOpenCVですぐに使うことができます。

help(CameraPylon)

で使えるメソッドの一覧が見れます。

IDLEのようなPythonの統合開発環境(軽いので私は良く使います)を利用している場合は、補完機能が使えます。

cam.camera.

の状態で[TAB]キーを押すと以下のように、実行できるプロパティやメソッドが表示されます。


Homeへプログラミングの記事Topへ