capture.set(CV_CAP_PROP_FPS, 30);无法设置
时间: 2024-05-06 15:17:20 浏览: 154
这个问题可能是因为你使用的 OpenCV 版本不同,或者你的摄像头不支持该帧率。你可以尝试使用以下代码来设置帧率:
```
capture.set(cv::CAP_PROP_FPS, 30);
```
如果仍然无法设置帧率,你可以尝试使用以下代码获取可用的帧率:
```
double fps = capture.get(cv::CAP_PROP_FPS);
std::cout << "可用帧率:" << fps << std::endl;
```
然后选择一个可用帧率进行设置。
相关问题
capture.set(cv2.CAP_PROP_FPS, fpsv * video_fps)怎么没用
可能有多种原因导致该语句没有生效,以下是一些可能的原因:
1. `capture`对象没有被正确初始化或者没有被正确读取视频文件。
2. `fpsv`或`video_fps`的值不正确,导致设置的帧率不合理。
3. 视频文件本身的帧率已经被固定,无法通过代码改变。
4. 其他部分代码对帧率进行了修改,覆盖了这段代码的设置。
您可以仔细检查以上几点,看是否有可能导致该语句没有生效。如果无法解决问题,您可以提供更多的代码和上下文信息,以便更好地理解和帮助您解决问题。
CV_CAP_PROP_FPS错误
抱歉,我之前的回答有误。`CV_CAP_PROP_FPS` 是 OpenCV 2.x 版本中使用的属性常量,而在 OpenCV 3.x 版本及更高版本中,应使用 `CAP_PROP_FPS`。
正确的代码应该是:
```cpp
capture.set(CAP_PROP_FPS, 30);
```
这样就可以将视频捕捉的帧率设置为 30 帧/秒。感谢你的指正!如果有任何其他问题,请随时提问。
阅读全文