加工後シート検査の設定プログラムを作成していたが、カメラの撮影が正常(ret=True)だと返してくるのだが、どうしてもリサイズできない。
frame= <class 'numpy.ndarray'>で返されるので正常のようだが、リサイズエラーが出る。
Python 3.12.1ではダメかと思い、Python 3.12.4や 3.11.9を試してもダメ。
TkEasyGUI 0.2.69を0.2.71にアップデートしても、PySimpleGUI 4.60.5に変えてみてもダメ。
カメラをIMX298に替えてもダメ。
行き詰ったので、
if __name__ == '__main__':
をやめて、ベタなプログラムでとりあえず動くようにすることにした。
関数は残しつつ、プログラムを修正していると、プログラムミスは見つかったがリサイズに影響するものでは無い。
だが、修正が終わっても、同じようにリサイズでエラーが出る。
リサイズのコードに問題があると判断し、
frame_resized = cv2.resize(frame, (SY1, SX1)) # 画面に収まるようにリサイズ
を欠点判断後に使用していた
frame_resized = cv2.resize(np.array(frame), (SY1, SX1)) # 画面に収まるようにリサイズ
に変えてみたら、エラーは出なくなった。
だがしかし、
エラーは出なくなったんだが、何故かリサイズではなく、画像の左上部分のトリミングで画面に表示される。
なんでやねん!!!
ちゃんと「cv2.resize」て指定してるやん!!!
また、
if __name__ == '__main__':
を使用している方も変えてみると、エラーは出なくなったが、同じように、何故かリサイズではなく、画像の左上部分のトリミングで画面に表示される!!!
Visual Studio Codeに変なキャッシュが残っていないかを疑い、
加工前シート検査の設定プログラムを動かしてみると
frame_resized = cv2.resize(frame, (SY1, SX1)) # 画面に収まるようにリサイズ
で正常にリサイズ動作する。
どないなっとんや!
もう訳がわからん!
ここが解決すれば、前に進めるのに!!!
コメント
コメントを投稿