カテゴリ |
|
カメラのパラメータ(Feature)の取得・設定を行うには、CameraControlクラスを用います。
※Ver.1.1.0において、パラメータの取得・設定が可能なのは、CoaXPressカメラのみの対応となります。
はじめに、カメラの幅の画素数(Width)の値を取得・設定するサンプルを示します。
import acapy # AcaPyクラス
from acapy import cameracontrol as cam # カメラ設定用
# AcaPyクラスのインスタンス(初期値でBoardID=0, ch=1) capture = acapy.AcaPy(0, 1)
# CameraControlクラスのインスタンス camera = cam.CameraControl(capture)
# カメラに設定されている値の一覧の表示 print(camera.get_camera_category_feature_text())
# 幅の画素数の取得 ret, camera_width, value_info = camera.get_value('Width')
# 幅の画素数の設定 ret = camera.set_value('Width', 640)
|
◆ CameraControlクラスのインスタンス
AcaPyクラスでボードID、Ch番号を指定しインスタンスしたAcaPyクラスオブジェクトをCameraControlクラスへ渡してCameraControlクラスのインスタンスを行います。
import acapy # AcaPyクラス from acapy import cameracontrol as cam # カメラ設定用
# AcaPyクラスのインスタンス(初期値でBoardID=0, ch=1) capture = acapy.AcaPy(0, 1)
# CameraControlクラスのインスタンス camera = cam.CameraControl(capture)
|
これにより指定したボードID、Ch番号に接続されているカメラの制御が可能となります。
◆ カメラパラメータ値の取得・設定
カメラパラメータ値の取得、設定を行うには、CameraControlクラスの
値の取得は get_value()メソッド
値の設定は set_value()メソッド
を用います。
● get_value()メソッド
パラメータの名前(Feature)を指定して、カメラに設定されている値を取得します。
def get_value(self, value_name : str) ->(ret, value, value_info)
|
引数
名前 |
型 |
説明 |
value_name |
str |
パラメータの名前(Feature)を文字列で指定します。 |
戻り値
名前 |
型 |
説明 |
ret |
bool |
成功時: True 失敗時: False |
value |
|
取得したパラメータの値 |
value_info |
ValueInfo |
パラメータの詳細情報 |
● set_value()メソッド
パラメータの名前(Feature)を指定して、カメラへ値を設定します。
def set_value(self, value_name : str, value) -> ret
|
引数
名前 |
型 |
説明 |
value_name |
str |
パラメータの名前(Feature)を文字列で指定します。 |
value |
|
設定値 |
戻り値
名前 |
型 |
説明 |
ret |
bool |
成功時: True 失敗時: False |
◆ カメラパラメータ名(Feature)の確認
カメラに設定されているパラメータの一覧および設定値は、get_camera_category_feature_text()メソッドを使うと確認できます。
print(camera.get_camera_category_feature_text())
|
出力結果例の一部
(+)ImageFormatControl 'SensorWidth' Integer RO 4512 'SensorHeight' Integer RO 4512 'WidthMax' Integer RO 4512 'HeightMax' Integer RO 4512 'RegionSelector' Enumeration RW 'Region0' ['Region0'] 'Width' Integer RW 4512 [64 -> 4512 : Inc 16] 'Height' Integer RW 4512 [16 -> 4512 : Inc 16] 'OffsetX' Integer RW 0 [0 -> 3872 : Inc 2] 'OffsetY' Integer RW 0 [0 -> 0 : Inc 16] 'ReverseX' Boolean RW False 'ReverseY' Boolean RW False 'ComponentSelector' Enumeration RW 'Intensity' ['Intensity'] 'ComponentEnable' Boolean RO True 'ComponentIDValue' Integer RO 0 'PixelFormat' Enumeration RW 'Mono8' ['Mono8', 'Mono10'] |
1番目の列がパラメータの名前(Feature)の文字列となります。
2番目の列が設定値の型、種類です。
Integer |
整数型 |
Boolean |
ブーリアン(True, False) |
Command |
コマンド |
Float |
小数型 |
String |
文字列 |
Enumeration |
列挙型 |
3番目の列が設定値へのアクセス(読込、書込)となります。
4番目の列が設定値および、設定値の制限となります。
●設定値が Interger や Float の場合
'Width' Integer RW 4512 [64 -> 4512 : Inc 16]
のように表示されている場合、設定値が 4512、最小設定値が 64、最大設定値が 4512 かつ設定値が16の倍数であること。一般に
設定値 [最小値 -> 最大値 : Inc 倍数]
となります。
(設定例)
ret = camera.set_value('Width', 640)
●設定値が Boolean の場合
設定が可能なのは、 True もしくは False のみとなります。
(設定例)
ret = camera.set_value('ReverseX', True)
●設定値が Enumeration の場合
'PixelFormat' Enumeration RW 'Mono8' ['Mono8', 'Mono10']
のように表示されている場合、設定値は、カッコ内 [ ] の文字列のいずれかを指定してください。
(設定例)
ret = camera.set_value('PixelFormat', 'Mono10')
●設定値が Command の場合
Commandの値は指定せずに、 set_value() メソッドを実行してください。
(実行例)
ret = camera.set_value('UserSetSave')
パラメータの機能の詳細については、ご使用のカメラのマニュアルを参照ください。