QObject::connect: Cannot queue arguments of type 'cv::Mat'

opencv结合Qt开发大恒摄像头程序时,我利用Qt的线程读取摄像头帧序列,在摄像头采集完

一帧后将RAW数据转为RGB数据后,在利用RGB数据格式化为Mat数据结构后,利用自定义信号

从采集线程发送Mat结构数据到主线程的槽函数用于UI显示。信号槽如下:

// 采集线程类
signals:
	void captureAFrame(cv::Mat f);
// 主线程类
public slots:
	void slotOnCaptureAFrame(cv::Mat f);

然后一直收不到槽的响应,后来仔细查看编译信息,发现以下提示:

QObject::connect: Cannot queue arguments of type 'cv::Mat' (Make sure 'cv::Mat' is 

registered using qRegisterMetaType().)

解决方法:

1.添加头文件: #include <QMetaType>

2.增加注册函数注册:qRegisterMetaType< cv::Mat >("cv::Mat");

再次编译 就可以收到了。

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值