gpt4 book ai didi

c++ - 有没有办法为 cv QueryFrame 或 cv GrabFrame 设置起始帧?

转载 作者:太空宇宙 更新时间:2023-11-03 22:35:26 25 4
gpt4 key购买 nike

使用 OpenCV (HighGUI.h),我在 main 中有这段代码:

int frame_count = 0;  
while( (frame=cvQueryFrame(capture)) != NULL && (frame_count <= max_frame)) {
//If the current frame is within the bouds min_frame and max_frame, write it to the new video, else do nothing
if (frame_count >= min_frame){
cvWriteFrame( writer, frame );
}
frame_count++;
}

which queries capture for the frame, and only writes if the frame is in the bounds min_frame and max_frame, both integers.该代码运行良好,但它不足以处理非常大的视频,因为它必须查询捕获导致 min_frame 的帧,但它不会写入它们。我想知道是否有一种方法可以让 cvQueryFrame 从 min_frame 开始,而不必一直工作到它。当它达到 max_frame 时它已经停止了,因为我移动了

frame_count <= max_frame

进入 while 条件。有什么建议吗?

最佳答案

可以通过以下方式设置下一帧阅读

cvSetCaptureProperty(capture, CV_CAP_PROP_POS_FRAMES, min_frame);

当然只适用于视频而不适用于相机。下一个读取的帧将是 min_frame,如果您不再次设置帧位置,读取将从那里正常继续(将读取 min_frame 之后的帧)。所以它非常适合,因为您只需要在开始时调用它即可。

关于c++ - 有没有办法为 cv QueryFrame 或 cv GrabFrame 设置起始帧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6349419/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com