关于Cxp采集卡连接大面阵相机取图耗时问题研究

时间: 2023-07-11 admin 互联网

关于Cxp采集卡连接大面阵相机取图耗时问题研究

关于Cxp采集卡连接大面阵相机取图耗时问题研究

前言

就目前为止,使用面阵相机的话,我一般都使用海康的SDK,最近几年,开始使用Cxp采集卡的大面阵相机,继续使用海康的SDK取图

现象

最近发现使用151M大面阵相机取图时,彩色的图比黑百图慢了很多,原先以为是因为图大的原因,后来才发现是使用海康SDK库时使用错了

在海康SDK中有

    // ch:注册图像数据回调 | en:Register Image Data CallBackint RegisterImageCallBack(void(__stdcall* cbOutput)(unsigned char * pData, MV_FRAME_OUT_INFO_EX* pFrameInfo, void* pUser), void* pUser);int RegisterImageCallBackRGB(void(__stdcall* cbOutput)(unsigned char * pData, MV_FRAME_OUT_INFO_EX* pFrameInfo, void* pUser),void* pUser);

由于是要用彩色图,所以使用了RegisterImageCallBackRGB

但是后来咨询的厂商,才得知从Cxp采集卡中出来的数据都是BayerRG8格式的,此格式是单通道的彩色图,所以正确使用方式是用RegisterImageCallBack,然后在把数据组成图片后,在转成所需要的3通道彩色图

if (pFrameInfo->enPixelType == MvGvspPixelType::PixelType_Gvsp_BayerRG8)
{cv::cvtColor(pthis->m_CurImage, pthis->m_CurImage, cv::COLOR_BayerRG2RGB);
}

猜想

猜想是海康SDK内部也做了一次图片转换,导致耗时过长