プログラミング

MacのAnacondaを用いたPython+OpenCVにおいてdestroyAllWindowsが使えない

ウィンドウを閉じるときには以下の関数が使える。

cv2.destroyAllWindows()

しかし、どうもうまく閉じれない。

cap = cv2.VideoCapture("Cosmos.mp4")
if cap.isOpened() == False:
sys.exit()
ret, frame = cap.read()
h, w = frame.shape[:2]
fourcc = cv2.VideoWriter_fourcc(*"XVID")
dst = cv2.VideoWriter("output/test.avi", fourcc, 30.0, (w,h))
while True:
ret, frame = cap.read()
if ret == False:
break
cv2. imshow("img", frame)
dst.write(frame)
if cv2.waitKey(30) == 27:
break
cv2.destroyAllWindows()
cap.release()

何かキーを押すとMacの風車が止まらないのだ…

これはAnacondaの問題なのか、OpenCVの問題なのかわからないが、
私の環境では以下の処理でウィンドウを閉じることができた。

cv2.namedWindow("image")
cv2.imshow('image', img)
cv2.waitKey(0) # close window when a key press is detected
cv2.destroyWindow('image')
cv2.waitKey(1)

stackoverflow.com

RELATED POST
翻訳 »