PythonOpenCV-使用图像路径接口api的视频输入的最佳方式是什么
我有一个api以img_路径作为输入,因为它使用cv2.imread加载图像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,
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)
这正是我的解决方案。我试图在不保存视频的情况下寻求其他解决方案。