上の様な感じで検証開始。

トリミング設定もうまくでき、本プログラムへの設定受け渡しもOK。

検査は、i5-7400機では9.3秒程度~の検査時間が、12.5秒程度~に伸びた。タイミング調整で計8秒のasyncio . run ( asyncio . sleep ())を入れているので、タイミング調整以外で1.3秒から4.5秒と3倍強遅くなっている。

ただ、感度を上げて全面欠点判定になると、i5-7400機では~40秒程度の検査時間が、~2.5分程度に伸びた。
100円ショップの大きな画用紙は、巻きで売っていたので端がカールして、かなり感度を落とさないと広範囲の欠点判定になってしまう。
また、露光時間の切り替えに7秒程度の時間がかかるために露光時間を固定にしたが、上と下のLED照明を一緒にしたため、露光時間を上に合わせると下照射の撮影が暗すぎる、下に合わせようとすると上照射の撮影が全面白飛びする。
また、LEDの設置範囲を検査物のサイズギリギリに合わせたが、下照射は端の方が暗くなり、端の方が欠点判定になりやすくなる。

LEDの追加や検査BOXの大型化はすぐには難しいので、アルミホイル等で光を反射拡散してなんとかしてみたいところ。


何回か動作させていると、途中で上照射と下照射の混ざった画像が撮影された。

更に、色画用紙を赤に交換しながら検査撮影していたら、画用紙をセットしている手が映り込んだ。なぜ???


どうも、1~2秒前の画像を取り込んでいるようだ。

ret, frame = cap.read()で新たに撮影してデータが出力されるのでは無く、1FPSの撮影が常時行われていて撮影済のデータを出力しているらしい。

どうりでどう見てもLEDの安定化に3秒もかかってなさそうなのに、asyncio . run ( asyncio . sleep (4))で4秒も確保する必要があるはずだ。

また、パソコンの処理速度が遅くなると、5秒も確保する必要があるらしい。

何てことだ。タイミング処理を見直す必要がある。


しかし、根本的な解決には高速な高解像度カメラが欲しいが、8MPぐらいまでしか見つからない上、高くて、ソフトの販売が決定していない以上、今は手が出せない。

どうしたものか。

コメント

このブログの人気の投稿