質問: cv2.cv.loadimage(img_name) cv2.cv.showimage("dragonfly simulation", img) cv2.cv.waitkey(2) cv2.cv.destroywindow("dragonfly simulation") cv2.cv.waitkey(1) # rest of code それでそれは何をしますか: ウィンドウを開きます ループで、ウィンドウに画像を表示します 終了したら、ウィンドウを閉じます 残りのコードを実行します ただし、この場合はtotal_frame以前に与えられました。それは欲しくない。代わりに、次のことを行うコードが必要です。 ウィンドウを開きます ループで、ウィンドウに画像を表示します ユーザーがそのウィンドウを閉じるのを待つ ユーザーがそのウィンドウを閉じると、ループが終了し、残りのコードが続行されます。 しかし、ユーザーがウィンドウを閉じたときに検出できるopencvの関数が見つかりません。誰かが回避策を提案できますか?
回答: getwindowproperty( 'image'、wnd_prop_visible)を使用してc++でテストしましたが、機能しません。だから私はwnd_prop_autosizeを使用し、それは動作します。私はこれが好きでした:cv::namedwindow("mytitle", window_autosize); while(1) { cv::imshow("mytitle", myimage); if (cv::getwindowproperty("mytitle", wnd_prop_autosize) == -1) break; }