c++ - LabVIEW、C++ DLL 和 IMAQ 图像

标签 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* 类型的指针地址。

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

最佳答案

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

enter image description here

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


讨论后编辑:

您的解决方案依赖于 NI Vision,在这种情况下它比我的要好。然而,当没有 NI Vision 时,我的是使用 IMAQ 像素数据的唯一方法。

关于c++ - LabVIEW、C++ DLL 和 IMAQ 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9301012/

相关文章:

.net - 无法将字符串从 dll(用 C 编写)返回到主程序(使用 .NET)

c++ - 从成员函数返回列表时导致段错误的原因是什么?

c++ - Doxygen 没有为函数添加文档

c++ - Qt 向 QMainWindow 添加非菜单栏键盘快捷方式

c++ - 如何发现 DLL 是否在 Windows 服务上下文中运行?

c++ - 如何在 Windows 上使用 makefile 编译非托管 *.dll

sockets - 使用 TCP/IP LabVIEW 在 PC 和 UR5 Universal Robotics 机器人 ARM 之间进行通信

c++ - 如何将简单的 API 添加到我的 C++ 应用程序以供 LabView 访问?

c++ - 为什么即使在 const 函数中也会更改值?

c - 在 C 和 Labview 之间共享一个变量?