海康机器人Java做什么_发现海康机器人工业相机SDK的两个BUG,顺便发布我的Java封装...

背景

我司最近有款轮式巡检机器人用到了海康机器人的工业相机MV-CA060-10GC,我们的开发平台是树莓派(运行Ubuntu Server 1804),开发语言是Java,但该相机没有Java SDK,于是我决定自己开发一个。

好消息是海康机器人提供了C语言的SDK,这样我就能通过JNA直接调用,而不必写一行C代码。

问题的提出

开发过程中发现,有2个API在Windows下正常运行,在树莓派下却总是报错误的参数,错误码80000004

b7a754d0cb9a3c1f6308ebcdce888daf.png

第一个API负责获取原始图像,第二个负责将原始图像压缩编码成jpg或bmp等文件格式,都是必须要用的API

int MV_CC_GetOneFrameTimeout( void *handle,

unsigned char *pData, unsigned int nDataSize,

MV_FRAME_OUT_INFO_EX *pFrameInfo, int nMsec);

int MV_CC_SaveImageEx2( IN void* handle,

MV_SAVE_IMAGE_PARAM_EX *pSaveParam);

向厂商的技术支持求助,技术支持问样例代码在树莓派上运行正常吗?我试了试,发现正常,技术支持说那就是你们代码写得有问题,仔细查查吧。

走过的弯路

我的Java代码应该不会有问题,否则Windows上就报错了,平台差异JNA已经帮我屏蔽了呀,除非JNA屏蔽得有问题。

换64位Ubuntu

注意到JNA在不通平台有相应的jnidispatch动态库,而树莓派是armhf

架构,会不会是因为JNA没有linux-armhf版jnidispatch所致?

e30e90ff4f2ef6f4745921e0d7ed5633.png

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值