海康的相机没有ros驱动,而且对linux开发不太用好(windows的支持还是不错的),就重写了sdk接口,并创建了ros节点封装成ros包,方便linux环境下ros的调用,用于开发后面的算法,完整版ros驱动:https://github.com/luckyluckydadada/HIKROBOT-MVS-ROS-package
机器视觉工业相机客户端MVS V2.1.0(Linux)
相机型号:MV-CA013 或 016
适用于海康机器视觉工业相机系列(以太网传输和usb传输同样适用),相机接入pc或开发板的usb3.0接口或网口。
海康机器人-机器视觉-下载中心杭州海康机器人股份有限公司海康机器人HIKROBOT是面向全球的机器视觉和移动机器人产品及解决方案提供商,业务聚焦于工业物联网、智慧物流和智能制造,构建开放合作生态,为工业和物流领域用户提供服务,以创新技术持续推动智能化,引领智能制造进程https://www.hikrobotics.com/machinevision/service/download?module=01、选linux的最新版:机器视觉工业相机客户端MVS V2.1.0(Linux)

2、下载好的软件安装包,拷贝至 linux 系统中
3、 安装前,需要获取系统 root 权限,使用“sudo su”或者“su root”命令,需要输入密码。

4、打开 MVS 安装包所在文件夹,使用“tar –xzvf MVS-2.0.0_x86_64_20191126.tar.gz”对安装包进行解压(不同硬件平台,解压后有不同的安装包,本文以 x86 架构、64 位安装包为例进行讲解)
解压
MVS_Linux_STD_V2.1.0_201228.zip解压后,目录中含有多种架构已经编译好并打包的*.dpkg包,另外还有tar.gz(也含编译好的so和bin文件)。
MVS-2.1.0_aarch64_20201228.deb MVS-2.1.0_i386_20201228.deb
MVS-2.1.0_aarch64_20201228.tar.gz MVS-2.1.0_i386_20201228.tar.gz
MVS-2.1.0_armhf_20201228.deb MVS-2.1.0_x86_64_20201228.deb
MVS-2.1.0_armhf_20201228.tar.gz MVS-2.1.0_x86_64_20201228.tar.gz
MVS-2.1.0_arm-none_20201228.tar.gz
树莓派选armhf架构,jetson选aarch64,pc机选x86_64,i386是32位pc。
armhf和aarch64区别就是armhf是armv7架构,如树莓派。aarch64是armv8架构,如jetson nano。
arm-none只有Samples,没有编译好的bin,也没有dpkg包,海康也没有提供源码,所以用不上。
所有的tar包都包含另一个MVS.tar.gz,继续解压后是海康打包的so和Samples。
Samples说明参照MVS/Samples/README-CH,安装完sdk后可以在每个sample子目录敲make编译生成可执行程序。
因为海康没有提供源码,只提供编译好的so来给我们调用,所以下面的tar包安装也不用编译。
5、解压完成以后,会在文件夹中生成对应的文件夹(如:MVS2.0.0_x86_64_20191126.tar.gz)。如下
图所示:

6、打开解压后的文件夹(cd MVS-2.0.0_x86_64_20191126)。运行安装脚本“./setup.sh”安装 MVS,安装过程如下图所示

7、 安装完成后,会在文件夹/opt 文件夹中生成 MVS 文件夹。MVS 文件夹中一般包含:bin、doc、deriver、include、lib、lincese、logserver、Samples 文件夹(不同版本可能存在差异)。如下图所示:
8、编译demo
解压tar包,包含另一个MVS.tar.gz,继续解压,找到Samples目录。
Samples说明参照MVS/Samples/README-CH,安装完sdk后可以在每个Sample子目录敲make编译生成可执行程序。
如:
cd Samples/64/ImageProcess/
make
./ImageProcess
[device 0]:
Device Model Name: MV-CE060-10UC
UserDefinedName:
Please Intput camera index: 0 # 只有一个相机此处填0,用于指定相机
Now you GetOneFrame, Width[3072], Height[2048], nFrameNum[0]
0 to do nothing
1 to convert RGB
2 to save as BMP # 2 为保存照片到当前目录
Please Input Index: 2
save image succeed
Press enter to exit.
打开当前目录的image.bmp照片,说明sdk的开发环境测试成功。
如果只是想使用相机的采集的topic做算法开发,直接clone ros的驱动包https://github.com/luckyluckydadada/HIKROBOT-MVS-ROS-package,参照Readme安装即可。

9. 示例程序能够正常运行,安装完成,进入 cd /opt/MVS/bin 路径下,执行./MVS.sh 命令即可打开
MVS 客户端;也可进入 cd /opt/MVS/Samples 路径下,运行测试相关示例程序
dpkg包安装(二选一)
dpkg -i MVS-2.1.0_x86_64_20201228.deb
安装在 /opt/MVS下,这里有个问题,运行需要去cd /opt/MVS/bin/ 再./MVS运行。
可选操作:
虽然环境变量配置了lib目录,但是没有配置bin目录,而且即使配置了bin目录,在其他目录也会运行失败,因为MVS调用的很多lib没有在/opt/MVS/lib目录,而在bin目录,可能是担心lib重名吧。
可以按如下方法修改方法,找到对应行:
vim ~/.bashrc
export PATH=$PATH:/opt/MVS/bin:
export MVCAM_COMMON_RUNENV=/opt/MVS/lib
export LD_LIBRARY_PATH=/opt/MVS/lib/64:/opt/MVS/lib/32:/opt/MVS/bin:$LD_LIBRARY_PATH
下划线部分是我增加的内容,重启终端生效。
任意目录命令行敲MVS打开设备。
上面谨慎修改,因为/opt/MVS/bin目录加入到LD_LIBRARY_PATH后,会同样将这个目录里的libQt5*等库引入全局可见,跟系统安装的libQt版本不一致,比如我的rviz在调用Qt这个库的时候出现了不匹配打不开的情况,使用系统自带的则正常打开,所以谨慎修改。
tar包安装(二选一)
tar -xvf MVS-2.1.0_x86_64_20201228.tar.gz
cd MVS-2.1.0_x86_64_20201228
sudo bash setup.sh
可选操作同上。
2 MVS 卸载
软件卸载时有以下两种方法:
方法一:
1. 执行 cd /opt 进入 opt 目录下;
2. 执行/opt/MVS/logserver/RemoveServer.sh 删除软件;
3. 执行 rm –r /opt/MVS 删除所在文件的文件夹。
方法二:
1. 获取 root 权限;
2. 执行 dpkg –r MVS。(只支持 deb 方式安装 MVS 时使用)
3 注意事项
一、 防火墙关闭方式
Linux 系统下如果枚举不到相机,则需要关闭防火墙。以下是不同 Linux 系统环境下关闭防火墙的方式(仅供参
考,具体可能系统版本不一样方式也不一样):
1、 Ubuntu
启动时是默认关闭的
2、Centos7
临时关闭:service firewalld stop 或 systemctl stop firewalld
永久关闭:chkconfig firewalld off
3、RedHat7
临时关闭:service firewalld stop 或 systemctl stop firewalld
永久关闭:chkconfig firewalld off
二、 网卡相关
Linux 下建议开启巨帧,开启方法(仅供参考)
1、临时开启:ifconfig eth0 mtu 9000
2、永久开启:将"ifconfig eth0 mtu 9000"语句写到配置文件,重启生效。
注意:eth0 代表网卡名字,不同系统名字有可能不一样;9000 代表最大接收包的大小,一些较老的网卡最大接
收包或许无法达到,需根据实际来设置,并且相机侧需将 GEVSCPSPacketSize 节点设置成相应大小。
三、 脚本说明
1、set_env_path.sh:设置环境变量,将 SDK 动态库放入系统环境变量中。
2、set_rp_filter.sh:禁用 rpfilter,使 pc 的 IP 网段和相机的 IP 网段不在同一网段时也能枚举的上。
3、set_socket_buffer_size.sh:当出现 GigE 丢包时,可开大 socket 缓存,用来减缓丢包。
4、set_usb_priority.sh:设置 udev 规则,使之能在非管理员权限下使用 u3 相机。
5、 set_usbfs_memory_size.sh:设置 usb 缓存,使之能兼容多个大分辨率 u3 相机。
4 常见问题
1、U3 相机在取流时候出现 no data 情况

3、set_socket_buffer_size.sh:当出现 GigE 丢包时,可开大 socket 缓存,用来减缓丢包。
4、set_usb_priority.sh:设置 udev 规则,使之能在非管理员权限下使用 u3 相机。
5、 set_usbfs_memory_size.sh:设置 usb 缓存,使之能兼容多个大分辨率 u3 相机。
4 常见问题
1、U3 相机在取流时候出现 no data 情况:
报错截图
解决方式:
解压安装包后,cd 到文件夹根目录下“source ./set_usb_priority.sh”和“source set_usbfs_memory_size.sh”。

2021/06/02/UN3#505//700
3、set_socket_buffer_size.sh:当出现 GigE 丢包时,可开大 socket 缓存,用来减缓丢包。
4、set_usb_priority.sh:设置 udev 规则,使之能在非管理员权限下使用 u3 相机。
5、 set_usbfs_memory_size.sh:设置 usb 缓存,使之能兼容多个大分辨率 u3 相机。
4 常见问题
1、U3 相机在取流时候出现 no data 情况:
报错截图
解决方式:
解压安装包后,cd 到文件夹根目录下“source ./set_usb_priority.sh”和“source set_usbfs_memory_size.sh”。
2、如果运行 demo 提示报错找不到 libMvCameraControl.so,是由于环境变量没有生效导致。报错如下图所示:
Cannot find –lMvCameraControl
解决方法:
a) 安装完 MVS 以后重启设备,使环境变量生效。
b) 跳转到安装包所在路径,并输入:“source ./set_env_path.sh”,使环境变量生效。如下图所示:
重启电脑!!!!
启动相机驱动:
cd到相机的工作空间(cd 到 ws_hikrobot_camera)下运行
source ./devel/setup.bash
roslaunch hikrobot_camera hikrobot_camera.launch
##rviz
source ./devel/setup.bash
roslaunch hikrobot_camera hikrobot_camera_rviz.launch
我正在使用i18n从头开始构建一个多语言网络应用程序,虽然我自己可以处理一大堆yml文件,但我说的语言(非常)有限,最终我想寻求外部帮助帮助。我想知道这里是否有人在使用UI插件/gem(与django上的django-rosetta不同)来处理多个翻译器,其中一些翻译器不愿意或无法处理存储库中的100多个文件,处理语言数据。谢谢&问候,安德拉斯(如果您已经在rubyonrails-talk上遇到了这个问题,我们深表歉意) 最佳答案 有一个rails3branchofthetolkgem在github上。您可以通过在Gemfi
我看到这个错误:translationmissing:da.datetime.distance_in_words.about_x_hours我的语言环境文件:http://pastie.org/2944890我的看法:我已将其添加到我的application.rb中:config.i18n.load_path+=Dir[Rails.root.join('my','locales','*.{rb,yml}').to_s]config.i18n.default_locale=:da如果我删除I18配置,帮助程序会处理英语。更新:我在config/enviorments/devolpment
如果我使用ruby版本2.5.1和Rails版本2.3.18会怎样?我有基于rails2.3.18和ruby1.9.2p320构建的rails应用程序,我只想升级ruby的版本,而不是rails,这可能吗?我必须面对哪些挑战? 最佳答案 GitHub维护apublicfork它有针对旧Rails版本的分支,有各种变化,它们一直在运行。有一段时间,他们在较新的Ruby版本上运行较旧的Rails版本,而不是最初支持的版本,因此您可能会发现一些关于需要向后移植的有用提示。不过,他们现在已经有几年没有使用2.3了,所以充其量只能让更
我试过重新启动apache,缓存的页面仍然出现,所以一定有一个文件夹在某个地方。我没有“公共(public)/缓存”,那么我还应该查看哪些其他地方?是否有一个URL标志也可以触发此效果? 最佳答案 您需要触摸一个文件才能清除phusion,例如:touch/webapps/mycook/tmp/restart.txt参见docs 关于ruby-如何在Ubuntu中清除RubyPhusionPassenger的缓存?,我们在StackOverflow上找到一个类似的问题:
大家好!我对我的:username字段进行了一个小的验证,它应该是4到30个字符。我写了一个验证::length=>{:within=>4..30,:message=>I18n.t('activerecord.errors.range')-我想显示一个错误各种错误的消息(不像,太长或太短),但这里有一个问题-我可以将最小值和最大值都传递给翻译,以便有类似的东西:用户名应该在4到30个字符之间。目前我有:range:"shouldbebetween%{count}and%{count}characters",这显然不起作用(只是为了检查)。是否可以从范围中获取这些值?谢谢大家的指教!
之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m
在VMware16.2.4安装Ubuntu一、安装VMware1.打开VMwareWorkstationPro官网,点击即可进入。2.进入后向下滑动找到Workstation16ProforWindows,点击立即下载。3.下载完成,文件大小615MB,如下图:4.鼠标右击,以管理员身份运行。5.点击下一步6.勾选条款,点击下一步7.先勾选,再点击下一步8.去掉勾选,点击下一步9.点击下一步10.点击安装11.点击许可证12.在百度上搜索VM16许可证,复制填入,然后点击输入即可,亲测有效。13.点击完成14.重启系统,点击是15.双击VMwareWorkstationPro图标,进入虚拟机主
需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc
📢博客主页:https://blog.csdn.net/weixin_43197380📢欢迎点赞👍收藏⭐留言📝如有错误敬请指正!📢本文由Loewen丶原创,首发于CSDN,转载注明出处🙉📢现在的付出,都会是一种沉淀,只为让你成为更好的人✨文章预览:一.分辨率(Resolution)1、工业相机的分辨率是如何定义的?2、工业相机的分辨率是如何选择的?二.精度(Accuracy)1、像素精度(PixelAccuracy)2、定位精度和重复定位精度(RepeatPrecision)三.公差(Tolerance)四.课后作业(Post-ClassExercises)视觉行业的初学者,甚至是做了1~2年
我正在运行Ubuntu11.10并像这样安装Ruby1.9:$sudoapt-getinstallruby1.9rubygems一切都运行良好,但ri似乎有空文档。ri告诉我文档是空的,我必须安装它们。我执行此操作是因为我读到它会有所帮助:$rdoc--all--ri现在,当我尝试打开任何文档时:$riArrayNothingknownaboutArray我搜索的其他所有内容都是一样的。 最佳答案 这个呢?apt-getinstallri1.8编辑或者试试这个:(非rvm)geminstallrdocrdoc-datardoc-da