LabVIEW,C ++ DLL和IMAQ图像

时间:2012-02-15 20:42:07

标签: c++ dll labview

我熟悉编写可以从LabVIEW调用的DLL,但我很好奇将IMAQ图像传递给DLL的正确方法。这是我发现的一种方法 - 我也使用类似的机制将IMAQ Image实例从我的DLL发布到事件结构。

Example Diagram

请注意,将图像实例转换为群集或从群集转换的节点位于${LABVIEW_INSTALL_DIR}/vi.lib/vision/DatatypeConversion.llb,分别命名为IMAQ Image Datatype to Image Cluster.viIMAQ Image Cluster to Image Datatype.vi。创建的集群由图像名称和一个整数值组成,该值表示C / C ++中Image*类型的指针地址。

这是最好的方法,还是有更好的方法?

1 个答案:

答案 0 :(得分:4)

我使用不同的方法,使用以下代码将所有图像信息(指针,大小等)放入集群中:

enter image description here

然后将簇传递给DLL函数,对像素进行操作(当然不改变大小),然后调用IMAQ的unmap像素指针。


讨论后编辑:

你的解决方案依赖于NI Vision,在这种情况下,它比我的好。但是,如果没有使用NI Vision我是使用IMAQ像素数据的唯一方法。