64、ubuntu使用c++/python调用alliedvisio工业相机

基本思想:需要使用linux系统调用alliedvisio工业相机完成业务,这里只做驱动相机调用,具体不涉及业务开发

Alvium 相机选型 - Allied Vision

一、先用软件调用一下用于机器视觉和嵌入式视觉的Vimba X 软件开发包 - Allied Vision

VimbaX_Setup-2023-4-Linux64.tar.gz,然后参考用户手册配置

ubuntu@ubuntu:~/Downloads/VimbaX_Setup-2023-4-Linux64/VimbaX_2023-4/cti$ sudo ./VimbaGigETL_Install.sh 
Registering GENICAM_GENTL64_PATH
Done
Please log off once before using the GigE transport layer
ubuntu@ubuntu:~/Downloads/VimbaX_Setup-2023-4-Linux64/VimbaX_2023-4/cti$ sudo ./VimbaUSBTL_Install.sh 
Registering GENICAM_GENTL64_PATH
Registering AVTUSBTL device types
Done
Please reboot before using the USB transport layer

二、关机重启之后,使用非超级权限启动viewer

ubuntu@ubuntu:~/Downloads/VimbaX_Setup-2023-4-Linux64/VimbaX_2023-4/bin$ ./VimbaXViewer

三、使用python代码调用该相机

ubuntu@ubuntu:~/Downloads/VimbaX_Setup-2023-4-Linux64/VimbaX_2023-4/api/python$ pip3 install vmbpy-1.0.4-py3-none-any.whl 
Processing ./vmbpy-1.0.4-py3-none-any.whl
Installing collected packages: vmbpy
Successfully installed vmbpy-1.0.4

测试相机使用官方的demo

ubuntu@ubuntu:~$ git clone https://github.com/alliedvision/VmbPy.git
Cloning into 'VmbPy'...
remote: Enumerating objects: 4891, done.
remote: Counting objects: 100% (4891/4891), done.
remote: Compressing objects: 100% (1267/1267), done.
remote: Total 4891 (delta 3670), reused 4837 (delta 3616), pack-reused 0
Receiving objects: 100% (4891/4891), 932.50 KiB | 616.00 KiB/s, done.
Resolving deltas: 100% (3670/3670), done.
ubuntu@ubuntu:~$ cd VmbPy/Examples/
ubuntu@ubuntu:~/VmbPy/Examples$ ls
action_commands.py           event_handling.py      multithreading_opencv.py
asynchronous_grab_opencv.py  list_cameras.py        synchronous_grab.py
asynchronous_grab.py         list_chunk_data.py     user_set.py
convert_pixel_format.py      list_features.py
create_trace_log.py          load_save_settings.py
ubuntu@ubuntu:~/VmbPy/Examples$ python3 asynchronous_grab_opencv.py 
///
/// VmbPy Asynchronous Grab with OpenCV Example ///
///

测试相机可以正常打开

四、ubuntu上使用c++调用,调用官方的c++,等着研究剔除无用的代码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/654156.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Prometheus的相关概念和部署

(一)Prometheus的相关概念 1、Prometheus:是一个开源的系统监控以及报警系统,整合zabbix的功能、系统、网络、设备 2、Prometheus可以兼容网络、设备,进行容器监控、告警系统 3、因为Prometheus和k8s是一个项目基金…

自然语言处理的新突破:如何推动语音助手和机器翻译的进步

一、语音助手方面的进展 语音助手作为人机交互的重要入口之一,其性能的提升离不开自然语言处理技术的进步。基于深度学习的语音识别和语义理解技术,使得语音助手可以更准确地分析用户意图,提供个性化服务。 语音识别精度的持续提高 语音识别是语音助手的基础。随着深度神经网…

小程序的应用、页面、组件生命周期(超全版)

小程序生命周期 应用的生命周期 onLaunch: 初始化小程序完成时触发,且全局只触发一次; onShow: 小程序初始化完成(启动)或从后台切换到前台显示时触发; onHide: 小程序从前台切换到后台隐藏时触发(如切换…

服务攻防-开发组件安全JacksonFastJson各版本XStreamCVE环境复现

知识点 1、J2EE-组件Jackson-本地demo&CVE(数据处理) 2、J2EE-组件FastJson-本地demo&CVE(数据处理) 3、J2EE-组件XStream-本地demo&CVE(数据处理) 章节点: 1、目标判断-端口扫描…

浅谈桌面云

桌面云是一种通过网络将可伸缩、弹性的共享物理或虚拟资源池按需供应和交付桌面的云服务模式。桌面操作系统运行于共享物理或虚拟资源池,用户可使用瘦客户机端或其他任何与网络相连的设备(即终端设备,包括云终端、笔记本、普通PC、智能终端等…

脉宽调制器

1. pwm脉宽调制器 脉宽调制器: 一种硬件设备, 用于 动态调制 方波 的 一些属性, 方波的周期,频率,占空比 占空比? : 有效电平占 整个周期的比值 可以使用PWM 控制功率, 控制频率 用于 开关电源 或 逆变器 1.1 原理 PWM原理: 如图所示 本质就是一个定时器: 由原理…

【玩转Node.JS】=>(内置文件系统)fs模块

文章目录 概念:文件写入writeFile (异步写入)writeFileSync(同步写入)appendFile (异步追加写入)appendFileSync(同步追加写入)createWriteStream (文件流式写…

抗锯齿 opencv

目录 puttext line函数 puttext import cv2# 读取图像 img cv2.imread(image.jpg)# 写中文 cv2.putText(img, 中文, (50, 50), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 0, 0), 2, cv2.LINE_AA)# 显示图像 cv2.imshow(image, img) cv2.waitKey(0) cv2.destroyAllWindows() lin…

服务攻防-开发框架安全SpringBootStruts2LaravelThinkPHPCVE复现

知识点: 1、PHP-框架安全-Thinkphp&Laravel 2、J2EE-框架安全-SpringBoot&Struts2 章节点: 1、目标判断-端口扫描&组合判断&信息来源 2、安全问题-配置不当&CVE漏洞&弱口令爆破 3、复现对象-数据库&中间件&开发框架&am…

Spring Boot通过配置文件支持数据库自定义表名

直接上干货: 例如一个叫xxx的项目,yml文件里加上这段 xxxproject:db:xxxTable: xxx_dbname #自定义的数据库表名创一个Configuration类放表名和Mapper // XxxProjectAutoConfiguration.javaConfiguration MapperScan(basePackages "cn.com.xxxp…

Vue3-插槽(本质也是组件间的交流)

默认插槽 当你在父组件中,有标签需要插入子组件中显示,就需要默认插槽 具名插槽 当你在父组件中,有多个标签需要放置子组件的不同位置时,就需要具名插槽 具名-----》 v-slot:s2 作用域插槽 父组件在插槽中想要使用子组件的值&…

Less-1(sqlmap自动注入攻击)--sqli

环境准备 打开火狐浏览器,进入sqli第一关的页面 工具准备 sqlmap 参数解释 -u URL 指定目标URL进行注入测试。--dataDATA指定POST请求的数据进行注入测试--cookieCOOKIE指定用于身份验证的cookie进行注入测试-p PARAMETER指定要测试的参数--levelLEVEL设置测试的深…

你不知道的Tomcat

Tomcat基本概念 Tomcat是一个Servlet容器,也是一个web容器。我们的请求通过浏览器进入到Tomcat,Tomcat再把请求分发对应的Servlet。 Tomcat核心组件 Connector: 连接器负责处理进入Tomcat的传入连接和请求,然后将它们传递给Server服务对象中…

Qt无边框窗口拖拽和阴影

先看下效果: 说明 自定义窗口控件的无边框,窗口事件由于没有系统自带边框,无法实现拖拽拉伸等事件的处理,一种方法就是重新重写主窗口的鼠标事件,一种时通过nativeEvent事件处理。重写事件相对繁琐,我们这里推荐nativeEvent处理。注意后续我们在做win平…

MySQL知识点总结(二)——explain执行计划、SQL优化

MySQL知识点总结(二)——explain执行计划、SQL优化 explain执行计划typepossible_keyskeysextra SQL优化SQL优化的流程SQL优化技巧范围查询优化排序优化分组查询优化distinct优化分页查询优化join关联查询优化排序分页 关联查询分组 关联查询 排序in与…

手把手带你Git入门,从下载到精通,常用git命令

文章目录 Git概述什么是GitGit历史Git是什么 为什么要使用Git什么是版本控制系统 Git和SVN对比SVN集中式SVN优缺点 Git分布式Git优缺点 Git工作流程四个工作区域工作流程 Git下载与安装下载window版下载64位软件包安装Git Git基础环境配置设置用户信息查看配置信息 文件的两种状…

$.ajax()方法总结

$.ajax()方法总结 大家好,我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编,今天我们将深入探讨前端开发中常用的异步请求方法之一——$.ajax()方法,并总结其使用技巧和一些常见场景。 1. 什么是$.ajax()方法? $.aj…

Leetcode 3021. Alice and Bob Playing Flower Game

Leetcode 3021. Alice and Bob Playing Flower Game 1. 解题思路2. 代码实现 题目链接:3021. Alice and Bob Playing Flower Game 1. 解题思路 这一题真心很蠢,事实上就是只要 x y xy xy为奇数Alick就能赢,因此只要看在给定的 m , n m,n …

mysql中一个中文字符占几个字节,怎么验证

一,长度取决于字符集编码 在MySQL中,一个中文字符所占用的字节数取决于你使用的字符集(Character Set)。 1,对于UTF-8字符集,一个中文字符通常占3个字节; 2,而对于GBK等双字节字符集…

ES6.8.6 创建索引配置分词器、映射字段指定分词器、查询数据高亮显示分词结果(内置分词器、icu、ik、pinyin分词器)

文章目录 ES环境内置分词器,以simple分词器示例查询创建索引simple_news,修改分词器为simple插入模拟数据分词查询:返回通过分词查询到的结果、高亮分词分词匹配:写一次示例,其他分词和匹配思路基本一致第一步&#xf…