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

本文主要是介绍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图的结合并进行结构光测距

这篇关于pyorbbecsdk奥比中光python版本SDK在Windows下环境配置笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/756475

相关文章

使用Python实现可恢复式多线程下载器

《使用Python实现可恢复式多线程下载器》在数字时代,大文件下载已成为日常操作,本文将手把手教你用Python打造专业级下载器,实现断点续传,多线程加速,速度限制等功能,感兴趣的小伙伴可以了解下... 目录一、智能续传:从崩溃边缘抢救进度二、多线程加速:榨干网络带宽三、速度控制:做网络的好邻居四、终端交互

Python中注释使用方法举例详解

《Python中注释使用方法举例详解》在Python编程语言中注释是必不可少的一部分,它有助于提高代码的可读性和维护性,:本文主要介绍Python中注释使用方法的相关资料,需要的朋友可以参考下... 目录一、前言二、什么是注释?示例:三、单行注释语法:以 China编程# 开头,后面的内容为注释内容示例:示例:四

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

python常用的正则表达式及作用

《python常用的正则表达式及作用》正则表达式是处理字符串的强大工具,Python通过re模块提供正则表达式支持,本文给大家介绍python常用的正则表达式及作用详解,感兴趣的朋友跟随小编一起看看吧... 目录python常用正则表达式及作用基本匹配模式常用正则表达式示例常用量词边界匹配分组和捕获常用re

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

python实现对数据公钥加密与私钥解密

《python实现对数据公钥加密与私钥解密》这篇文章主要为大家详细介绍了如何使用python实现对数据公钥加密与私钥解密,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录公钥私钥的生成使用公钥加密使用私钥解密公钥私钥的生成这一部分,使用python生成公钥与私钥,然后保存在两个文

python删除xml中的w:ascii属性的步骤

《python删除xml中的w:ascii属性的步骤》使用xml.etree.ElementTree删除WordXML中w:ascii属性,需注册命名空间并定位rFonts元素,通过del操作删除属... 可以使用python的XML.etree.ElementTree模块通过以下步骤删除XML中的w:as

SQLite3 在嵌入式C环境中存储音频/视频文件的最优方案

《SQLite3在嵌入式C环境中存储音频/视频文件的最优方案》本文探讨了SQLite3在嵌入式C环境中存储音视频文件的优化方案,推荐采用文件路径存储结合元数据管理,兼顾效率与资源限制,小文件可使用B... 目录SQLite3 在嵌入式C环境中存储音频/视频文件的专业方案一、存储策略选择1. 直接存储 vs

嵌入式数据库SQLite 3配置使用讲解

《嵌入式数据库SQLite3配置使用讲解》本文强调嵌入式项目中SQLite3数据库的重要性,因其零配置、轻量级、跨平台及事务处理特性,可保障数据溯源与责任明确,详细讲解安装配置、基础语法及SQLit... 目录0、惨痛教训1、SQLite3环境配置(1)、下载安装SQLite库(2)、解压下载的文件(3)、