我熟悉编写可以从LabVIEW调用的DLL,但我很好奇将IMAQ图像传递给DLL的正确方法.这是我发现的一种方法 - 我也使用类似的机制将IMAQ Image实例从我的DLL发布到事件结构.
请注意,将图像实例转换为簇或从簇转换的节点分别位于${LABVIEW_INSTALL_DIR}/vi.lib/vision/DatatypeConversion.llb
,并且分别命名IMAQ Image Datatype to Image Cluster.vi
和IMAQ Image Cluster to Image Datatype.vi
.创建的集群由图像名称和表示Image*
C/C++中类型的指针地址的整数值组成.
这是最好的方法吗,还是有更好的方法?
我使用不同的方法,使用以下代码将所有图像信息(指针、大小等)放入集群中:
\n\n然后簇被传递给 DLL 函数,对像素进行操作(当然不改变大小),然后调用 IMAQ 的取消映射像素指针。
\n\n讨论后编辑:
\n\n您的解决方案依赖于 NI Vision,在这种情况下它比我的更好。然而,当没有 NI\xc2\xa0Vision 时,我的方法是处理 IMAQ 像素数据的唯一方法。
\n 归档时间: |
|
查看次数: |
2508 次 |
最近记录: |