gpt4 book ai didi

opencv - cvQueryFrame 不返回 null

转载 作者:太空宇宙 更新时间:2023-11-03 23:01:30 27 4
gpt4 key购买 nike

CvCapture* capture = cvCreateFileCapture( filename );
int nFrames = (int) cvGetCaptureProperty( capture , CV_CAP_PROP_FRAME_COUNT );
printf("Frame count - %d\n", nFrames);
while(1){
frame = cvQueryFrame( capture );
if( !frame ) {
break;
}

}

n 帧 == 101但是循环在 101 次迭代后并没有停止,为什么?

最佳答案

cvQueryFrame 返回一个 IplImage 指针。基于旧文档 here ,它可能会也可能不会在发生错误时返回 NULL。除了检查它是否为 NULL 之外,您可能还想检查返回的 IplImage* 是否包含有效数据,以查看您是否确实获得了帧。

或者更好的是,切换到使用 C++ interface :

VideoCapture cap( filename ); 
//check if we succeeded
if(!cap.isOpened())
{
//...
}

Mat frame;
for(;;)
{
//get a new frame from camera
bool got_frame = cap.read(frame);

if(!got_frame)
break;

//...
}

关于opencv - cvQueryFrame 不返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16726811/

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