pyorbbecsdk奥比中光python版本SDK在Windows下环境配置笔记

1、概述

        Orbbec SDK Python Wrapper基于Orbbec SDK进行设计封装,主要实现数据流接收,设备指令控制。

2、系统要求

2.1、操作系统

  • Windows:Windows 10 (x64)(本文 针对windows)
  • Linux: 18.04/20.04/22.04 (x64)
  • Arm32: 18.04/20.04/22.04
  • Arm64: Ubuntu18.04/20.04/22.04

2.2、编译平台要求

  • Windows:Visual Studio 2017 及以上(本人用的是Visual Studio 2017版本)
  • Linux: gcc 5.4.0 及以上
  • cmake: 3.15.0 及以上
  • pybind11 2.10.3 及以上

2.3、Python 版本

  • Python 3.6.9 及以上(本人用的是Python3.8版本)

3、Windows python sdk 编译

3.1、下载 python sdk 源码

如果电脑装有Git则可以直接使用命令进行下载

git clone https://github.com/orbbec/pyorbbecsdk.git

如果没有Git可以手动去网址链接去手动下载压缩包

下载完里面的文件和目录结构如下:

其实在docs下有这个配置教程README_CN.md文件,但是有些步骤不够详细(跟着做出现问题,后面解决了,因此记录下来)

3.2、安装依赖

pyorbbecsdk目录下有一个requirements.txt文件

打开文件可以查看要安装的依赖为pybind11[global]

进入自己的虚拟环境位置

cmd打开命令窗口,激活虚拟环境,pip安装pybind11[global]依赖

pip install pybind11[global]

3.3、配置Visual Studio
  • 打开Cmake,首先设置源码路径,“build”文件夹设置为生成二进制文件的路径,如下图所示。

点击

  • 点击“Configure”并选择对应的Visual Studio版本和平台版本后,点击“Finish”,如下所示:

图上的VS版本是2022版的,我用的2017版的,根据自己电脑上装的VS版本选择,其他都一样

注意:此时会报错

CMake Error at lib/(our project name)/CMakeLists.txt:30 (find_package):By not providing "Findpybind11.cmake" in CMAKE_MODULE_PATH this project hasasked CMake to find a package configuration file provided by "pybind11",but CMake did not find one.Could not find a package configuration file provided by "pybind11" with anyof the following names:pybind11Config.cmakepybind11-config.cmakeAdd the installation prefix of "pybind11" to CMAKE_PREFIX_PATH or set"pybind11_DIR" to a directory containing one of the above files.  If"pybind11" provides a separate development package or SDK, be sure it hasbeen installed.

这是因为pybind11_DIR路径没有正确找到,没有定位到pybind11文件的位置,位置在我们虚拟环境的这个地方,因为我们上面是在此虚拟环境下pip install pybind11[global]

在cmake中修改为正确路径,再次点击“Configure”

Configuring done成功后,点击Generate显示Generating done后,点击Open Project

会打开python SDK工程,出现如下画面,注意选择Releasex64

3.4、编译python SDK

右键点击pyorbbecsdk 编译,如下图所示:

鼠标右键点击 INSTALL,如下图所示:

编译好的文件会拷贝到 install/lib 目录下,如下图所示:

4、测试python SDK Sample

  • 将install/lib 目录下的文件 拷贝到 examples目录下,如下图所示:

打开Pycharm执行python color_viewer.py等测试例子

报错:ModuleNotFoundError: No module named 'pyorbbecsdk',是因为版本不匹配,我们用的修环境Python版本是3.8,而我们后面编译pybind11生成的是pyorbbecsdk.cp39-win_amd64.pyd我们python版本要和cp39版本一致,我们再创建一个Python3.9版本的虚拟环境

conda create -n py39 python=3.9.0

激活虚拟环境安装必要的库opencv-python、numpy

activate py39
pip install opencv-python

进入Pycharm切换编译环境到刚创建的py39环境

需改环境名称

接上相机点击运行测试,出现

给我们的py39环境也安装一下pip install pybind11[global]

再回Pycharm中测试

还是报错

发现应该是没有装orbec驱动,去官网下载装一下,双击安装,下一步就可以了

再回pycharm点击运行

OK啦!

虽然导包部分还是飘红,但是不影响运行

参考:

1.How to make cmake find pybind11

2.cmake find_package没有找到Pybind11,即使有提示

3.导入模块pyorbbecsdk引发错误

4.完美解决CMake时“could not find any instance of Visual Studio”的问题【每天一个小技巧】

5.关于orbbec gemini rgb-d相机在windows系统中使用Python库Openni调用深度流与RGB图的结合并进行结构光测距

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

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

相关文章

express+mysql+vue,从零搭建一个商城管理系统4--mysql数据库链接

提示:学习express,搭建管理系统 文章目录 前言一、创建express_service数据库二、安装mysql三、新建config文件夹四、新建config/db.js五、index.js引入db.js文件六、启动项目预览总结 前言 需求:主要学习express,所以先写service…

自动驾驶框架:自动驾驶汽车定位-感知-规划-决策-控制概述,按照我的架构图理解:决策决定的是速度,规划决定的是路径(架构理解推荐)

1.按照我的架构图理解:决策决定的是速度,规划决定的是路径 参考链接:【自动驾驶】运动规划丨速度规划丨自动驾驶速度规划及状态协调方法 2.下面是参考别人的理解: 自动驾驶汽车定位-感知-规划-决策-控制概述 规划-决策-控制知…

爱普生为姿态和振动控制开发理想的IMU

- M-G370PDS0改善了短期噪声,扩展了型号阵容,使产品选择范围更广- 精工爱普生公司(“爱普生”,TSE: 6724)已经开发出M-G370PDS0样品,这是一种配备高性能六轴传感器的新型惯性测量单元(IMU)1。新产品计划于2022年春季批量生产。 爱…

51单片机-(定时/计数器)

51单片机-(定时/计数器) 了解CPU时序、特殊功能寄存器和定时/计数器工作原理,以定时器0实现每次间隔一秒亮灯一秒的实验为例理解定时/计数器的编程实现。 1.CPU时序 1.1.四个周期 振荡周期:为单片机提供定时信号的振荡源的周期…

深度学习PyTorch 之 RNN-中文多分类

关于RNN的理论部分我们已经在前面介绍过,所以这里直接上代码 1、 数据部分 1.1 读取数据 # 加载数据 data_path ./data/news.csv data pd.read_csv(data_path)# 预览数据的前几行 data.head()数据是csv格式,只有两列,第一列是标签&#…

导览系统厂家|景区电子导览|手绘地图|AR导览|语音导览系统

随着元宇宙、VR、AR等新技术的快速发展,旅游服务也更加多元化、智能化。景区导览系统作为旅游服务的重要组成部分,其形式更加多元化智能化。智能导览系统作为一种新的服务方式,能够为游客提供更加便捷的旅游服务和游览体验,也逐渐…

随机采样一致性识别模型 Ransac

pclpy 随机采样一致性识别模型 Ransac 一、算法原理1.背景2.运行说明1.显示带异常值的平面点云2.显示根据平面模型的随机采样一致性得到的平面点云3.显示带异常值的球形点云4.显示根据球形模型的随机采样一致性得到的球形点云 二、代码三、结果1.显示带异常值的平面点云2.显示根…

【C++干货基地】C++:函数重载(深度解析Windows和Linux下函数的修饰规则)

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 引入 哈喽各位铁汁们好啊,我是博主鸽芷咕《C干货基地》是由我的襄阳家乡零食基地有感而发,不知道各位的…

测试开发(6)软件测试教程——自动化测试selenium(自动化测试介绍、如何实施、Selenium介绍 、Selenium相关的API)

接上次博客:测试开发(5)测试分类标准 :按测试对像划分、按是否查看代码划分、按开发阶段划分、按测试实施组织、按是否运行划分、按是否手工划分、按测试地域划分-CSDN博客 目录​​​​​​​ 什么是自动化测试 自动化测试介绍…

react-组件进阶

1.目标 能够实用props接收数据 能够实现父子组件之间的通讯 能够实现兄弟组件之间的通讯 能够给组件添加props校验 能够说出生命周期常用的钩子函数 能够知道高阶组件的作用 2.目录 组件通讯介绍 组件的props 组件通讯的三种方式 Context props深入 组件的生命周期 Render-p…

数据结构:循环队列

一、队列的概念 操作受限的线性表,允许在队列的一端执行入队操作,另一端执行出队操作 先进先出(FIFO) 1.顺序队列 物理结构连续,依赖于数组实现 队列中有一个队头指针和队尾指针,队头指针保存每次要出队的元素,队…

SpringCloud--Nacos解析

一、Nacos简介 Spring Cloud Alibaba Nacos是一个用于动态服务发现、配置管理和服务管理的平台,是阿里巴巴开源的一个项目,旨在简化微服务架构中的服务治理。Nacos 提供了一组简单易用的特性集,可以快速的实现动态服务发现、服务配置、服务元…

2024食品工程与智慧农业国际学术会议(ICFESA2024)

2024食品工程与智慧农业国际学术会议(ICFESA2024) 一、【会议简介】 2024食品工程与智慧农业国际学术会议(ICFESA2024)是一个专注于食品工程和智慧农业领域的国际学术会议。会议将在杭州举行,该会议旨在汇聚全球相关领域的专家学者&#xff…

LiveGBS流媒体平台GB/T28181功能-查看国标设备下通道会话列表直播|回放|对讲|播放|录像|级联UDP|TCP|H264|H265会话

LiveGBS流媒体平台GB/T28181功能-查看直播|回放|对讲|播放|录像|级联UDP|TCP|H264|H265会话 1、会话列表2、会话类型3、搭建GB28181视频直播平台 1、会话列表 LiveGBS-> 国标设备-》点击在线状态 点击会话列表 2、会话类型 下拉会话类型可以看到 直播会话、回放会话、下载…

Windows网络问题:局域网内电脑连接wifi连不上

Windows网络问题:局域网内电脑连接wifi连不上 前提连接的网络没有问题 1、身边是否有人能连接上此网络 2、判断是否是无线网络的问题,寻找有线网络尝试 3、通过手机热点测试是否是电脑本身问题 经过上述的几步判断,如果是电脑本身的问题进行…

Qt中tableView控件的使用

tableView使用注意事项 tableView在使用时,从工具栏拖动到底层页面后,右键进行选择如下图所示: 此处需要注意的是,需要去修改属性,从UI上修改属性如下所示: 也可以通过代码修改属性: //将其设…

栈和队列——c语言实现栈

本节复习栈和队列中栈的增删查改。 首先回顾一下栈的性质: 栈的存储数据的原则是“后入先出”, 先入的在栈底, 后入的在栈顶。 弹出数据时在栈顶弹出。 开始实现栈的接口 栈的所有函数接口 //栈的初始化 void StackInit(Stack* pst); //入栈…

某查查首页瀑布流headers加密

目标网站: 某查查 对目标网站分析发现 红框内的参数和值都是加密的,是根据算法算出来的,故进行逆向分析。 由于没有固定参数名,只能通过搜索headers,在搜索的位置上打上断点,重新请求。 断点在此处断住&a…

半小时到秒级,京东零售定时任务优化怎么做的?

导言: 京东零售技术团队通过真实线上案例总结了针对海量数据批处理任务的一些通用优化方法,除了供大家借鉴参考之外,也更希望通过这篇文章呼吁大家在平时开发程序时能够更加注意程序的性能和所消耗的资源,避免在流量突增时给系统…

Data Leakage and Evaluation Issues inMicro-Expression Analysis 阅读笔记

IEEE Transactions on Affective Computing上的一篇文章,做微表情识别,阅读完做个笔记。本文讨论了Data Leakage对模型准确度评估的影响,及如何融合多个微表情数据集,从而提升模型的准确度。工作量非常饱满,很认真&…