Python3.12.2+TkEasyGUI0.2.57とPython3.11.4+PySimpleGUI4.60で比較しながら関数化を進め、関数の数値の受け渡しができるようになってきたが、Python3.12.2+TkEasyGUI0.2.57では、どうもカメラ撮影ができず動作に問題が出る。

 Python3.11.4+PySimpleGUI4.60では問題が出ないので、kujirahandさんに報告したが、確認を進めていくと、カメラは正常に設定できているようだが、

    ret, frame = cap.read()

の読み込みで、

設定直後の関数内であっても、

if __name__ == '__main__':

の中であっても、画像が撮影できずretがFalseにしかならない状態で、Quadro P600ビデオカードのドライバアップデート、TkEasyGUIの0.2.68へのアップデート、asyncioによるタイミング調整など、自分ができる範囲の対処をチャレンジしてみても、どうにもならない。

可否の組み合わせは、

〇 Python3.11.4+PySimpleGUI4.60

〇 Python3.11.4+TkEasyGUI0.2.68

× Python3.12.2+PySimpleGUI4.60

× Python3.12.2+TkEasyGUI0.2.68

 Pythonを複数インストールしているとトラブルが発生する可能性がある情報を見つけ、Python3.12.2、Python3.11.4切り替えて使用していることを疑い、Python3.12.1しかインストールしていないMproNB391Hノートパソコンで動作確認してみると、動作した!!

 そこで、Mpro-T399もPythonを全てアンインストールし、Python3.12.3単独にしても×、ノートパソコンと同じPython3.12.1単独にしても×。

 ひょっとしたら、ノートパソコンでは内臓ビデオだから動作したのでは?

 Mpro-T399からQuadro P600を取り外し、内臓ビデオにすると動作した!!!

ビデオカードの問題かビデオドライバの問題かはわからないが、Quadro P600はPython3.12系では使用できないことがはっきりした。

 kujirahandさんにQuadro P600が原因であったことを報告し、謝罪した。

 Quadro P600は、40Wの低消費電力で、静かな動作、4Kの4画面出力が可能であり、お気に入りであったし、今使用しているのFHDでは複雑な形状の被検査物の詳細な欠点表示には画面解像度が足りない傾向があり、将来的にFHDの2画面出力か、4Kディスプレイ出力を実現しようと考えていただけに、非常に痛い。

 まあでも、原因がはっきりしたことで、安心して次に進むことができる。



コメント

このブログの人気の投稿