Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PythonOpenCV-使用图像路径接口api的视频输入的最佳方式是什么_Python_Opencv - Fatal编程技术网

PythonOpenCV-使用图像路径接口api的视频输入的最佳方式是什么

PythonOpenCV-使用图像路径接口api的视频输入的最佳方式是什么,python,opencv,Python,Opencv,我有一个api以img_路径作为输入,因为它使用cv2.imread加载图像 def detect(net, classes, img_path, CONF_THRESH = 0.8, NMS_THRESH = 0.3): outputs = [] im = cv2.imread(img_path) ...... ...... 现在我想创建一个小工具来直接加载视频并调用api函数。我不能直接将图像对象传递到api函数中 def detect_video(net,

我有一个api以img_路径作为输入,因为它使用cv2.imread加载图像

def detect(net, classes, img_path, CONF_THRESH = 0.8, NMS_THRESH = 0.3):
    outputs = []
    im = cv2.imread(img_path)
    ......
    ......
现在我想创建一个小工具来直接加载视频并调用api函数。我不能直接将图像对象传递到api函数中

def detect_video(net, classes, video, CONF_THRESH = 0.8, NMS_THRESH =0.3):
    """detect an input video"""
    try:
        cap = cv2.VideoCapture('video')
    except Exception, e:
        print e
        return None
    while(True):
        ret, frame = cap.read()
        # try to call the api function

最好的方法是什么,这样我就不必更改api函数了?我的想法是写入视频捕获图像并重新加载。但这似乎愚蠢且缓慢。

如果要将帧作为参数传递给api detect函数,请先保存它,然后像往常一样调用api函数

img_path = 'image.jpg'
...
ret, frame = cap.read()
cv2.imwrite(img_path, frame)

# and now try to call the api function
detect(net, classes, img_path, CONF_THRESH = 0.8, NMS_THRESH = 0.3)

这正是我的解决方案。我试图在不保存视频的情况下寻求其他解决方案。