ubuntu下qt+opencv的HIGHGUI ERROR:HIGHGUI ERROR

毛浣熊 2016-01-27 06:44:57
我在Ubuntu下用qt结合opencv做一个人眼状态识别的程序,qt做界面,程序在vs控制台环境下已经可以运行,但是qt下编译通过,运行时出错退出。摄像头被打开一瞬间,错误信息 如下:
HIGHGUI ERROR: V4L/V4L2: VIDIOC_S_CROP
HIGHGUI 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三种格式之间转换出了问题。
希望遇到这种情况的能给小弟指点一下,不胜感激。
...全文
212 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

23,128

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧