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.hqwc.cn/news/498094.html

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

相关文章

字节面试问题

实现三列布局的方法 第一种&#xff1a;可以使用浮动margin 第二种&#xff1a;浮动BFC <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, in…

单点故障解决方案之Smart Link与Monitor Link

-SmartLink技术&#xff0c;创建Smart Link 组。在该组中&#xff0c;加入两个端口。其中1个端口是主端口&#xff0c;也称之为Master端口。另外1个端口是备份端口:也称之为 Slave 端口。 -Monitor Link 组也称之为“监控链路组&#xff0c;由上行端口和下行端口共同组成。下行…

kvm虚拟机修改网络模式

kvm修改网络模式可以直接使用virsh命令进行修改 一、查看主机 virsh list --all 二、查看需要修改主机的网络模式 virsh domiflist mysql 三、vim进行修改 cd /etc/libvirt/qemu/ vim mysql.xml 四、找到要修改的网卡部分 五、重新定义虚拟机 virsh define mysql_install.xml…

trie树(前缀树)

前缀树 1. 前缀树的的介绍2.前缀树的实现2.1插入功能2.2删除功能2.3查找前缀和查找单词功能2.4 哈希表版本 1. 前缀树的的介绍 在计算机科学中&#xff0c;trie&#xff0c;又称前缀树或字典树&#xff0c;是一种有序树&#xff0c;用于保存关联数组&#xff0c;其中的键通常是…

微服务 人工智能AI 物联网智慧工地云平台源码

目录 ​编辑 智慧工地架构 智慧工地系统 智慧工地云平台功能模块 1、基础数据管理 2、考勤管理 3、安全隐患管理 4、视频监控 5、塔吊监控 6、升降机监控 7、移动端数据推送 智慧工地管理平台子系统构成 智慧工地物联网解决方案&#xff0c;对工地施工安全人员、设…

数据库分库分表中间件选择

目前分库分表的中间件有三种设计思路&#xff0c;分别是&#xff1a; 采用分散式架构&#xff0c;适用于用Java开发的高性能轻量级OLTP应用程序&#xff0c;以Sharding-JDBC为代表。采用中间层Proxy架构&#xff0c;提供了静态输入和所有语言支持&#xff0c;适用于OLAP应用程…

毁灭交易账户的最快途径:摒弃复仇心态

虽然这听起来像是漫威宇宙最新的超级英雄传奇&#xff0c;但复仇者交易员绝不是英雄。 相反&#xff0c;复仇(报复性)交易者是让人害怕和避免的。他们是那些不承认他们的交易正在亏损&#xff0c;或者拒绝接受他们正在亏损&#xff0c;没有达到他们的日常目标的交易者。这些反英…

Leetcode—63. 不同路径 II【中等】

2024每日刷题&#xff08;115&#xff09; Leetcode—63. 不同路径 II 动态规划算法思想 实现代码 class Solution { public:int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) {int m obstacleGrid.size();int n obstacleGrid[0].size();…

音频提取使用什么方法?视频提取音频

在数字技术与多媒体日益普及的今天&#xff0c;音频提取已成为一个常见且重要的任务。无论是为了制作视频、编辑音乐&#xff0c;还是进行语音识别和分析&#xff0c;我们都需要从原始材料中提取音频。那么&#xff0c;音频提取通常使用什么方法呢&#xff1f; 1. 使用专业的音…

springboot项目打成含crud操作的sdk集成到springboot启动引擎项目

一 sdk配置操作 1.1 结构 sdk项目目录中只有基础的service类以及mybatis操作数据库的相关文件&#xff0c;service类中包含查询数据库的方法。 说明&#xff1a; 1.2 sdk的pom打包配置 作为公共项目打成jar供其他项目引用&#xff0c;注意被引入的项目不能使用默认的maven…

【MySQL】MySQL5.7版本安装与配置

目录 官网下载配置环境变量添加自定义配置打开命令窗口执行安装命令执行初始化命令启动MySQL服务设置MySQL密码 官网 MySQ官网地址&#xff1a;https://www.mysql.com/ 下载 选择DOWNLOADS 拉到下面 选择MySQL Community Server 默认是8.0版本&#xff0c;选择Archives…

芯片行业ERP管理全流程科普

在现代芯片行业中&#xff0c;企业资源规划(ERP)管理已经成为提升效率、优化资源配置和增强竞争力的关键工具。那么&#xff0c;芯片行业ERP管理的全流程是怎样的呢? 首先&#xff0c;ERP管理的起点是需求分析与规划。在这一阶段&#xff0c;企业需要明确自身的业务需求&#…