您的位置:首页 > 运维架构

将Opencv中的图像通过动态链接库传递给Labview

2015-12-30 16:17 218 查看
本文参考了《LabVIEW与OpenCV的混合编程中图像格式的转换》&http://forums.ni.com/t5/Machine-Vision/Using-OpenCV-library-in-LabVIEW/m-p/648429

由于网上的文章中的图,不清晰,再加上对opencv刚接触,遇到了一些问题,故写下,以免以后忘记。

1.首先在VS中建立DLL工程

        这里我没有使用_declspec(dllexport),用的是模块定义文件.def,具体怎么弄,可以参考孙鑫的视频

#include<cv.h>
int ImgdatatoLabview(unsigned __int8 *imgdata)
{
IplImage* ImgSrc=cvLoadImage("D:\\mediate.tif");//read the image;
int rows=373; //图像的宽高,当然你也可以由外面传递过来
int cols=559;
Mat tempimg(ImgSrc,true);
Mat img(rows, cols, CV_8U, imgdata);
img.convertTo(tempimg,CV_8UC1); //特别注意这里参数CV_8UC1的选择,要根据你的图像选择不同的类型

return 0;
}

2.Labview中建立库函数节点

这里需要安装Labview,vision.

程序框图如下



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息