加工後シート検査の設定プログラムを作成していたが、カメラの撮影が正常(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)) # 画面に収まるようにリサイズ

で正常にリサイズ動作する。


どないなっとんや!

もう訳がわからん!

ここが解決すれば、前に進めるのに!!!

コメント

このブログの人気の投稿