openCV错误:断言失败(scn == 3 || scn == 4)

MMH

在逐帧读取和写入视频时,我在最后一帧出现断言失败错误。错误仅显示在最后一帧,不知道为什么。这里看到了这个答案,这建议给waitkey,我的代码已经有了waitkey。

我的简单代码如下

int main()
{
  CvCapture *capture=cvCaptureFromFile("C:\\vid\\op.mp4");
  if(capture==NULL)
   {
 printf("can't open video");
   }
   Mat frame, first_frame,current_frame;
  char buffer[100];
  int frame_count=1,p=1;
  while(1)
   {
   /*Getting the current frame from the video*/
    frame=cvQueryFrame(capture);
    cv::cvtColor(frame,current_frame,1);   //saving current frame 
    sprintf(buffer,"C:\\frames\\image%u.jpg",p);    
    imwrite(buffer,current_frame);
    p++;

     waitKey(1);
   }
   return 0;
}  

有人请帮忙

解决方案:读取每个文件后,我添加了一张支票-

if(frame.empty()){
    fprinf("cannot access frame");
    return -1;
}
哈里斯

您需要在每次查询后检查框架是否为空

喜欢

   frame=cvQueryFrame(capture);
     if (frame.empty()) break;

之所以会出现这样的错误,是因为您试图在最后一帧之后将空的Mat转换为灰度,因此如果帧为空,则退出循环。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

OpenCV错误:在cvtColor中断言失败(scn == 3 || scn == 4)

OpenCV断言失败错误:(-215)scn == 3 || scn == 4在函数cv :: cvtColor中工作ALTERNATE次

OpenCV 错误:断言失败 ((scn == 3 || scn == 4) && (depth == CV_8U || depth == CV_32F)) 在 cvtColor 中

cvt::Color 中的 C++ OpenCV 异常断言失败 (scn ==3|| scn == 4)

OpenCV错误:cv :: cvtColor,文件.. \ .. \ .. \ .. \ opencv \ modules \ imgproc \ src \ color.cpp,第3737行中的断言失败(scn == 3 || scn == 4)

Python-OpenCV cv2 OpenCV错误:在未知函数,文件.. \ .. \ .. \ modules \ imgproc \ src \ color.cpp中,断言失败(scn == 3 || scn == 4)

在无效cv :: cvtColor(cv :: InputArray Android)中断言失败(scn == 3 || scn == 4)

打开cv错误:(-215)scn == 3 || scn == 4在函数cvtColor中

错误:(-215) scn == 3 || 在 Ubuntu 中使用来自网络摄像头的视频时,函数 cvtColor 中的 scn == 4

OpenCV错误:(-215:断言失败)函数'CvtHelper'中的VScn :: contains(scn)&& VDcn :: contains(dcn)&& VDepth :: contains(depth)

错误:(-215:断言失败)函数“cv::perspectiveTransform”中的 scn + 1 == m.cols

SCN材料防止拉伸

SCN到TimeStamp-错误的表达?

SCN四元数乘法

如何在AR套件中旋转或缩放3D模型scn文件

使用Oracle SCN跟踪已修改的行

获取在scn文件中创建的球体的位置

以编程方式将fbx转换为scn

SceneKit:将 scn 文件保存到磁盘

无法保存文件“ File.scn”

SCN使用Pod中的纹理加载场景

无法保存“ SceneKit Scene.scn”文档

scn如何在Oracle中使用sys.smon_scn_time映射到时间戳?

Swift - 将 .scn 添加到精灵视图

如何在SceneKit中将.dae转换为.scn文件

PDF和K和SCN颜色填充之间的区别

将多个SCN对象放置在touchesBegan方法中

SceneKit –如何在场景视图中显示SCN文件?

.DAE或.SCN文件在Xcode中无法正确显示