opencv与labview的结合(升级版:彩色图像的传输)
OK,上一篇讲完了opencv与Labview实现了黑白图像的传输,结尾有提到彩色图像的传输问题,我也自己试了一下,直接改变unsigned int8 char *data指针为unsigned int32 char *data,最后Labview并没有成功接收到彩色图像,经过网上的查找,有提到说这两者要是实现彩色图像传输,要借助图像的分离与融合,简单说就是把RGB图像的R、G、B三个通道拆分开来,然后逐个通道进行传输,有了上一篇的基础,已经知道了如何传输8bit的图片,实质就是单通道的功能,那么在实现彩色图像传输上也就有了更大的方便性。 原理比较简单,实现起来应该也不难,结果本人在尝试过程中却遇到了许多小问题,在这个过程中我会把要特别注意的细节问题用不同颜色注释: 首先是实现从opencv传输和一幅图像到Labview 关于DLL的创建也不再复述,不知道的可以查看往期的文章,这里主要讲DLL里面的实现代码 定义图像输出的函数名为outImage,函数主体如下: _declspec(dllexport) extern void outImage( int rows, int cols, unsigned __int8 *imageR, unsigned __int8 *imageG, unsigned __int8 * imageB) { Mat ImgSrc = imread(