毛浣熊 2016-01-27 10:44 采纳率: 0%
浏览 3791

linux下qt中opencv打开摄像头HIGHGUI ERROR:OpenCV Error:

我在Ubuntu下用qt结合opencv做一个人眼状态识别的程序,qt做界面,程序在vs控制台环境下已经可以运行,但是qt下出错。错误信息 如下:
HIGHGUI ERROR: V4L/V4L2: VIDIOC_S_CROP
OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cvtColor, file /home/mkc/opencv/opencvinstallor/opencv-2.4.9/modules/imgproc/src/color.cpp, line 3737
Qt has caught an exception thrown from an event handler. Throwing
exceptions from an event handler is not supported in Qt. You must
reimplement QApplication::notify() and catch all exceptions there.

  1. 我的程序思路是用opencv打开摄像头并捕捉每一帧,做完处理,最后在qt的label上显示,其间做了一个mat到QImage的转换, 2.用opencv官方程序圈出人脸。我单纯的将这一步写进qt运行没问题,能将摄像头显示在label上,但是将自己完整的一直到人眼状态识别代码写进去就报错。 3.中间用了opencv新版的Mat格式,也用了IplImage的图像格式,在Ubuntu下单纯编译也没错,但是到了qt下就闪退。 4.我百度得到的可能性是:如果有空帧的话,cvtColor会报错,后来我将 if( !frame.empty() )写在打开摄像头后还是报错。 我自己根本不太懂opencv和qt,所以一直没解决,会不会是是mat还有IplImage、QImage三种格式之间转换出了问题。 希望各位遇见过的各位能给与帮助,不甚感激。
  • 写回答

1条回答 默认 最新

  • oyljerry 2016-01-27 10:56
    关注

    异常报错了,触发了,你直接调试下看看对应的参数等是否正确

    评论

报告相同问题?

悬赏问题

  • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能
  • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面
  • ¥50 NT4.0系统 STOP:0X0000007B
  • ¥15 想问一下stata17中这段代码哪里有问题呀