centos7中用docker部署java项目调用mvs海康相机拍照踩坑
一、海康机器人官网下载MVS V2.1.2 (Linux)
二、解压后将tar.gz包传入centos7中
三、解压并安装MVS
安装
四、执行MVS,并查看环境变量是否正确
安装后会新增/opt/MVS目录,进入/opt/MVS/bin目录执行./MVS
执行完成后查看是否已经自动添加环境变量,执行vi /etc/profile,会自动配置好环境变量
五、执行MVS例子查看是否能够调用相机拍照 ,目录 /opt/MVS/Samples/64/Java 为示例
进入SaveImage 执行./run_SaveImage.sh 如果能够执行则证明环境变量配置没有问题
六、java程序调用海康相机程序
先把 /opt/MVS/Samples/64/Java 目录下的 MvCameraControlWrapper.jar包放到java程序中,pom中配置引用jar包
配置pom.xml 将外部包一同打包进去
将 /opt/MVS/Samples/64/Java/SaveImage/SaveImage.java 拷贝到程序中,改写一下拍照方法
七、写一个接口将方法暴露出来,方便测试
八、docker环境部署
出现 no MvCameraControlWrapper in java.library.path 问题是由于java运行中需要配置环境引用的jar包,docker-compose也需要配置路径的映射
dockerfile中配置应用的lib包目录,该目录下就有libMvCameraControlWrapper.so库
docker-compose配置路径的映射
九、调用相机没有出错,但是没有找到相机
No devices found! 原因分析:是由于docker的网络模式导致的,默认为桥接模式,相机跟宿主机在同一个局域网,但是由于桥接模式导致无法找到相机
docker的四种网络端口映射,详见 https://blog.csdn.net/qq_62344659/article/details/131823212
解决思路:使用直接用host宿主机网络,docker-compose中进行配置
拍照成功
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了