今日は、asyncioの使い方を見直し、できるだけ簡単なわかりやすいコードの使い方で組み込むことにした。
LED安定化待ち時間は、
asyncio.run(asyncio.sleep(4)) # 4秒待ち
DEBUG用の待機時間は、
# DEBUG用wait時間の設定 0(DEBUG無し) or 5(DEBUG用)
debug_time = 5
# DEBUG用待ち時間
asyncio.run(asyncio.sleep(debug_time))
また、USBカメラの露光時間設定を変数に変更
# 反射露光時間設定
r_time = -4
# 透過露光時間設定
s_time = r_time + 2
# 初期設定
cap.set(cv2.CAP_PROP_EXPOSURE, r_time) # ■■反射撮影の露光時間を設定■■
# 検査ループでの設定
cap.set(cv2.CAP_PROP_EXPOSURE, r_time) # ■■反射撮影の露光時間を再設定■■
cap.set(cv2.CAP_PROP_EXPOSURE, s_time) # ■■透過撮影の露光時間を再設定■■
これで、
非同期待ち時間を容易に変更できるようになり、
DEBUG用の途中経過表示を1か所でON/OFF制御でき、
2種撮影の露光時間も容易に変更できるようになった。
検査時は時短優先だが、機器トラブルなどの時に止めることで、トラブル原因の解消が早くできるようになる。
コメント
コメントを投稿