Python 是否可以从父进程使用opencv VideoCapture对象的read()方法?
我想在父进程中创建VideoCapture对象,并在子进程中调用VideoCapture.read(),如下所示:Python 是否可以从父进程使用opencv VideoCapture对象的read()方法?,python,opencv,multiprocessing,Python,Opencv,Multiprocessing,我想在父进程中创建VideoCapture对象,并在子进程中调用VideoCapture.read(),如下所示: from multiprocessing import Process def foo(cap): print(cap) print(cap.read()[0]) cap = cv2.VideoCapture(0) print(cap) print(cap.read()[0]) p = Process(target=foo, args=(cap,)) p.st
from multiprocessing import Process
def foo(cap):
print(cap)
print(cap.read()[0])
cap = cv2.VideoCapture(0)
print(cap)
print(cap.read()[0])
p = Process(target=foo, args=(cap,))
p.start()
然而,产出将是:
<VideoCapture 0x11b1d4f90>
True
<VideoCapture 0x11b1d4f90>
False
真的
假的
而我预期的结果是:
<VideoCapture 0x11b1d4f90>
True
<VideoCapture 0x11b1d4f90>
True
真的
真的
任何建议都将不胜感激 您的
see\u frame
方法在哪里?在codefoo
中,任何地方都没有调用方法。@ManaliKagathara这是我的错误。现在代码已更正请详细说明您的问题。您的问题与在进程之间共享对象有关,或者与cv2模块有关。@ManaliKagathara我认为这个问题专门针对共享opencv VideoCapture对象看一看,然后