我试图在线程的帮助下从摄像头中捕获帧,然后通过队列将其返回。当我运行代码时,我将返回类型作为np.array,但是当我显示它时,我得到一个回调警告,而不是输出。
import cv2
cap = cv2.VideoCapture(0)
import queue
import threading
def capture(out_queue):
while(True):
frame = cap.read()[1]
cv2.imshow('window', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
out_queue.put(frame)
break
my_queue_1 = queue.Queue()
t1 = threading.Thread(target=capture, args=(my_queue_1,))
t1.start()
t1.join()
ret1 = my_queue_1.get()
print(type(ret1))
cv2.imshow('returned', ret1)
cv2.destroyAllWindows()
cap.release()我将类型作为类'numpy.ndarray‘& WARN:0终止异步回调
发布于 2019-04-01 13:10:14
编辑:忘记包含cv2.waitkey()。问题已解决
https://stackoverflow.com/questions/55205580
复制相似问题