[求助讨论]

大神求救 啊 。。。。。

[复制链接]
1042|7
手机看帖
扫描二维码
随时随地手机跟帖
123de7|  楼主 | 2016-3-24 20:37 | 显示全部楼层 |阅读模式
在写一个labview 调用DLL,大恒的相机驱动,但是有一个函数 折腾好久 一直报错,而且对之后 图像的处理 完全没头绪 求救啊。。。。

VI

VI
IMG_20160324_201745.jpg 左边是 VI 右边是函数
原 型:HVSTATUS __stdcall HVSnapShot(HHV hhv, BYTE **ppBuffer, int nSum)
参  数:HHV hhv;
摄像机句柄。
BYTE **ppBuffer;
图像数据缓冲区指针的列表。
Int nSum;
图像数据缓冲区数目(采集图像的数量)。

想问大伙 这个VI怎么接,hhv 这个句柄已经得到了,关键在于   BYTE **ppBuffer,Labview 数据类型选什么 ,我选的是数组,(有两个星号**),但是用到VI中 输入是 一维数组,输出也是 一维数组,而且没有数据显示
求救啊。。。。。。

相关帖子

songchenping| | 2016-3-25 13:16 | 显示全部楼层
理论上应该是个两维数组啊。不知道你想读取相机的图像数据,十六进制的二维数组。

使用特权

评论回复
songchenping| | 2016-3-25 13:16 | 显示全部楼层
驱动你得自己看看了。不行咨询一下厂家,看他们提供的输出数据格式。

使用特权

评论回复
123de7|  楼主 | 2016-3-25 21:41 | 显示全部楼层
songchenping 发表于 2016-3-25 13:16
驱动你得自己看看了。不行咨询一下厂家,看他们提供的输出数据格式。

哈 谢版主 回帖
还没解决,准备 传递一个 指针,然后根据传回来的指针,解二维数组指针引用 再试试

使用特权

评论回复
songchenping| | 2016-3-29 08:52 | 显示全部楼层
123de7 发表于 2016-3-25 21:41
哈 谢版主 回帖
还没解决,准备 传递一个 指针,然后根据传回来的指针,解二维数组指针引用 再试试 ...

得先判断传过来的数据格式啊

使用特权

评论回复
perry_peng| | 2016-4-19 21:34 | 显示全部楼层
这个好像是你要给他准备存多幅图像的缓冲区,所以不像是给它一个二维数组用来直接储存图像数据的。
看他们提供的手册中的示例:你要准备多个用来储存一幅图像的数组A,B, C ... 。然后将这些数组再保存到另一个数据组X。最后把X数组传给函数调用。

使用特权

评论回复
perry_peng| | 2016-4-19 21:41 | 显示全部楼层
本帖最后由 perry_peng 于 2016-4-19 21:43 编辑

你可以使用Win32 API 来分配内存(如果是Win32平台的话), 比如HeapAllow或GlobalAllow来分配内存,并将返回的地址保存到Labview数组中,再将Labview数组传给你的函数,调用完后用API CopyMemory将内容复制到LabView数组。最后记得要调用HeapFree或GlobalFree来释放内存以免内存泄露

使用特权

评论回复
songchenping| | 2016-4-21 14:27 | 显示全部楼层
目前labview自身的驱动可以识别市面上绝大多数相机的。结合相机自身的驱动很容易就可以得到图像的啊。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:从不依靠,从不寻找。 非常沉默,非常骄傲。

10

主题

850

帖子

1

粉丝