キーワードから探す

※スペースで区切って複数検索が可能です。

カテゴリで絞り込む

よく検索されるキーワード

ID:412
作成日: 2023/09/08

【AcaPy】シンプルサンプルプログラム

カテゴリ AcaPy


AcaPyを用いた最小限のサンプルプログラムを以下に示します。

import acapy
import cv2

# AcaPyクラスのインスタンス capture = acapy.AcaPy() # capture = acapy.AcaPy("GigE") # GigEカメラのとき
# 画像入力ボードの設定 # GigEカメラのとき、load_inifile()は不要です。 capture.load_inifile("./AreaSensor_mono.ini")
# 画像取込 ret, frame = capture.snap()
# 画像表示 cv2.imshow("Image", frame) cv2.waitKey()

# 解放
capture.release()

◆各コードの説明

●AcaPyクラスのインスタンス

【画像入力ボード(CameraLink, CoaXPress用)を使用する場合】

以下の部分で、AcaPyクラスをインスタンスし、画像入力ボードを使える状態にしています。

capture = acapy.AcaPy()

次に、使用するカメラに合わせて画像入力ボードを設定するため、設定ファイル(iniファイル)を読込ます。
iniファイルはAcapLib2と共通です。
capture.load_inifile("./AreaSensor_mono.ini")


【画像入力ボードを使用しない(GigEカメラ)場合】

AcaPyクラスのコンストラクタで"GigE"の文字を指定してインスタンスを行います。

capture = acapy.AcaPy("GigE")

※画像の幅、高さなどの設定は、カメラから取得するため、load_inifile()メソッドの実行は不要です。

●画像の取込

1フレーム分の画面を取得するにはsnap()メソッドを実行します。

ret, frame = capture.snap()
戻り値のretは、成功時1、失敗時0 になります。
frameが撮影した画像データ(NumPyのndarray)となります。
画像データのフォーマットはOpenCVと共通で、カラー画像のとき、B,G,Rのデータ順となります。

●解放

AcaPyクラスオブジェクトを使用しなくなったら、release()メソッドにより解放を行います。

capture.release()

◆関連記事

snap()メソッドは1枚の画像データを取り込む処理となります。
連続で画像を取り込む場合は、下記ページを参照ください。

連続画像取込(Grab)サンプルプログラム


◆サンプルプログラム

下記、リンクよりAcaPyを使ったサンプルプログラム一式を入手できます。
https://faq-avaldata.dga.jp/faq_detail.html?id=462
この内容は参考になりましたか?
ご回答いただきまして、ありがとうございます。
今後の参考にさせていただきます。
ご意見・ご感想、ありがとうございます。

関連するご質問

Now Loading...

Now Loading...