cv2 imshow не открывает окно снова после закрытия и повторного открытия при использовании с потоками - PullRequest
0 голосов
/ 30 декабря 2018

В примере кода ниже,

import cv2
from threading import Thread

class Person_Item_Association(object):
    def __init__(self):
        self.stop = False

    def start_camera(self):
        self.stop =False
        camera_thread = Thread(target=self.start_analysis)
        camera_thread.start()

    def stop_camera(self):
        self.stop = True

    def start_analysis(self):
        cap = cv2.VideoCapture(0)

        while not self.stop:
            ret,image = cap.read()
            cv2.imshow("frame",image)
            cv2.waitKey(1)

        cap.release()
        print("resource released")
        cv2.destroyAllWindows()

Я делаю следующую последовательность, вызываю obj.start_camera (), obj.stop_camera (), cv2.imshow () открывает окно, но когда я сновасделать obj.start_camera () и obj.stop_camera (), окно не открывается.Что здесь не так?

1 Ответ

0 голосов
/ 19 июня 2019

Вы можете использовать модуль multiprocessing вместо threading modeule, чтобы смягчить проблему.Но я все еще не могу найти, как это исправить с threading.

Взгляните на похожий вопрос .

...