如何在 Python 中使用 params(第三个)参数调用 OpenCV VideoCapture()
How to call OpenCV VideoCapture() with params (third) argument in Python
在 Ubuntu(Ubuntu 服务器 20.04.3 LTS (RPi 2/3/4/400) / 32 位)上使用 OpenCV (4.5.4) Python (3.9.7)。一般成功,但我不知道如何将第三个参数传递给具有 C++ 接口的 VideoCapture() 调用:
cv::VideoCapture::VideoCapture (
const String & filename,
int apiPreference,
const std::vector< int > & params
)
此处指定:
OpenCV Video I/O VideoCapture class
当前代码如下:
import cv2
cap = cv2.VideoCapture('/dev/video0', cv2.CAP_FFMPEG)
效果很好,但我想将第三个参数传递给调用,以便我可以设置视频参数。我尝试将第三个参数作为元组列表 [(a1,v1), (a2,v2)] 和字典 {a1:v1, a2:v2} 传递,但都不起作用。
我在很多搜索中找不到任何例子...
这样试试:
cap = cv2.VideoCapture('/dev/video0', cv2.CAP_FFMPEG, (a1, v1, a2, v2))
这是您链接的文档中的相关内容:
The params
parameter allows to specify extra parameters encoded as pairs (paramId_1, paramValue_1, paramId_2, paramValue_2, ...)
.
在 Ubuntu(Ubuntu 服务器 20.04.3 LTS (RPi 2/3/4/400) / 32 位)上使用 OpenCV (4.5.4) Python (3.9.7)。一般成功,但我不知道如何将第三个参数传递给具有 C++ 接口的 VideoCapture() 调用:
cv::VideoCapture::VideoCapture (
const String & filename,
int apiPreference,
const std::vector< int > & params
)
此处指定:
OpenCV Video I/O VideoCapture class
当前代码如下:
import cv2
cap = cv2.VideoCapture('/dev/video0', cv2.CAP_FFMPEG)
效果很好,但我想将第三个参数传递给调用,以便我可以设置视频参数。我尝试将第三个参数作为元组列表 [(a1,v1), (a2,v2)] 和字典 {a1:v1, a2:v2} 传递,但都不起作用。
我在很多搜索中找不到任何例子...
这样试试:
cap = cv2.VideoCapture('/dev/video0', cv2.CAP_FFMPEG, (a1, v1, a2, v2))
这是您链接的文档中的相关内容:
The
params
parameter allows to specify extra parameters encoded as pairs(paramId_1, paramValue_1, paramId_2, paramValue_2, ...)
.