在 jupyter notebook 中关闭时 imshow 冻结

imshow freezes when closing down in jupyter notebook

我正在尝试使用网络摄像头的模型和 opencv 检测三种类型的水果。一切正常,但是当我尝试将其关闭时它冻结了,我必须使用任务管理器将其关闭。 这是我正在使用的代码:

cap = cv2.VideoCapture(0)
while True: 
    ret,img=cap.read()
    cv2.startWindowThread()
    cv2.imshow('Video', img)
    img = cv2.resize(img, (224, 224))
    pred = what_fruit(img)
    print(pred)

    if cv2.waitKey(1) == ord("q"):
            break

有没有办法使用 opencv 网络摄像头并在笔记本中正确关闭它?

您似乎忘记了 while 循环后的两行代码:

cap.release()
cv2.destroyAllWindows()