Aeye_PC端程序

项目场景:

Aeye相机采集程序

问题描述:

相机采集程序运行一次之后停止并重新启动程序,会导致程序出错,直接崩溃
显示cvtColor转换时incoming_img数据是空的empty

if(cvt_conversion_type == COLOR_RGB2BGR) {
	memcpy(output_img.data, incoming_img.data, (width * tmp_height * sizeof(char)));
}
else {
	cvtColor(incoming_img, output_img, cvt_conversion_type);
}
原因分析:

cv转换的数据为空
连续打印数据大小发现重新启动程序时候,前几帧数据size为0;
因此在进行cvtColor转换的时候导致的程序崩溃

Mat SiaMoviCam::process_frame(uchar *frame, size_t size)
解决方案:

先判断一下帧数据的大小,过滤前面的几帧空数据;
单步运行程序,实际上拿了很多帧数据,返回有图像的帧数据

对应原本QT程序,为什么没有这个问题呢,因为在选择界面框框的时候,连接上MYRIAD的时候,
就已经在接收图像了,所以它前几帧数据早就过滤了

if (size < 2000)
{
	// return Mat( Size(width,height), CV_8UC3, Scalar::all(255));//返回纯白图像
	return Mat(1964, 2616, CV_8UC3, Scalar::all(255));
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值