在Ubuntu中获取奥比中光的深度值 Python代码
一、官网下载资料
https://developer.orbbec.com.cn/download.html?id=32下载SDK,并解压到Ubuntu中
二、进行后续工作
奥比中光Astra s Pro深度相机(RGBD)+Ubuntu显示深度图像+jeston Xavier NX平台_一头秀发的假程序猿的博客-CSDN博客_奥比中光pro
按照这篇的步骤,完全可以实现。亲测有效哦!!
三、出现的问题
1、在Ubuntu中直接运行会提示OpenNI2.dll: file does not exist
是文件夹中缺少文件,只需要将OpenNI2文件夹、OpenNI.ini、OpenNI.dll和OpenNI.lib全部复制到python文件目录下
2、还有‘‘.so’’文件找不到的情况,这个问题按照上述博客的方法可以解决。
四、代码
from openni import openni2
import numpy as np
import cv2def depth2mi(depthValue):return depthValue * 0.001def depth2xyz(u, v, depthValue):fx = 577.54679fy = 578.63325cx = 310.24326cy = 253.65539#depth = depth2mi(depthValue)depth = depthValue*0.001z = float(depth)x = float((u - cx) * z) / fxy = float((v - cy) * z) / fyresult = [x, y, z]return resultdef mousecallback(event, x, y, flags, param):if event == cv2.EVENT_LBUTTONDBLCLK:print(y, x, dpt[y, x])arr = np.array(dpt)depthValue =float(arr[y, x])coordinate = depth2xyz(x, y, depthValue) print("coordinate:", coordinate)if __name__ == "__main__":openni2.initialize()dev = openni2.Device.open_any()print(dev.get_device_info())depth_stream = dev.create_depth_stream()depth_stream.start()cap = cv2.VideoCapture(2)cv2.namedWindow('depth')('depth', mousecallback)while True:frame_dep = depth_stream.read_frame()dframe_data = np.array(frame_dep.get_buffer_as_triplet()).reshape([480, 640, 2])dpt1 = np.asarray(dframe_data[:, :, 0], dtype='uint16')dpt2 = np.asarray(dframe_data[:, :, 1], dtype='uint16')dpt2 *= 255dpt = dpt1 + dpt2dpt = dpt[:, ::-1]im_color = cv2.applyColorMap(cv2.convertScaleAbs(dpt, alpha=0.03), cv2.COLORMAP_JET)cv2.imshow('depth', im_color)ret, frame = cap.read()a = framecv2.imshow('color', frame)key = cv2.waitKey(1)if int(key) == ord('q'):breakdepth_stream.stop()dev.close()
代码参考:python通过openni获取奥比中光Astra Pro的深度值和RGB图像_K4762的博客-CSDN博客_python 奥比中光
在Ubuntu中获取奥比中光的深度值 Python代码相关推荐
- python通过openni获取奥比中光Astra Pro的深度值和RGB图像
python通过openni获取奥比中光Astra Pro的深度值和RGB图像 前不久入了个乐视的体感摄像头来玩玩,在网上看了一些资料都是cpp的,出于个人习惯就改写成了python程序,可以同时获取 ...
- ubuntu安装运行奥比中光摄像头astra
ubuntu安装运行奥比中光摄像头astra 0 安装依赖 sudo apt install ros-$ROS_DISTRO-rgbd-launch ros-$ROS_DISTRO-libuvc ro ...
- Ubuntu中获取root权限
Ubuntu中获取root权限 [转载]地址:http://bujingyun23.blog.163.com/blog/static/1813102432013233377716/ 2013-03-0 ...
- Thinker Board 2开发板上使用奥比中光 astra 深度相机
Thinker Board 2 国产开发板 arm架构 上使用奥比中光 astra 深度相机 准备工作 1.下载astraSDK 选择linux_arm 下载 https://developer.or ...
- c# typescript_在任何IDE中从C#,Java或Python代码获取TypeScript接口的简单方法
c# typescript by Leonardo Carreiro 莱昂纳多·卡雷罗(Leonardo Carreiro) 在任何IDE中从C#,Java或Python代码获取TypeScript接 ...
- php 获取日期标签的值,在php中获取标签的选定索引值
我试图从< select>中获取所选值在 PHP中标记,但我收到错误. 这就是我所做的, HTML Select Male Female PHP脚本 $Gender = $_POST[&q ...
- Jquery中获取选中的select的值
场景 Jquery中获取页面select选中的值. 实现 页面代码: <div class="form-group"><label class="col ...
- java中如何设置浏览器宽度_[Java教程]关于JS中获取浏览器高度和宽度值的多种方法(多浏览器)_星空网...
关于JS中获取浏览器高度和宽度值的多种方法(多浏览器) 2017-08-07 0 三种浏览器获取值方法 IE中: document.body.clientWidth ==> BODY对象宽度 d ...
- C#中获取CheckListBox选中项的值
/// <summary> /// C#中获取CheckListBox选中项的值. /// </summary> /// < ...
最新文章
- 利用DNS Zone Transfers漏洞工具dnswalk
- 深入理解 js 之继承与原型链
- 2-4 js基础-事件对象小结
- Java-Integer源码分析
- mysql主主备份_MySQL主从备份和主主备份配置+Keepalived+MySQL读写分离
- 完全CSS实现鼠标移上出现层的效果(超简单)
- android fragmentactivity fragment,Android:Activity与Fragment通信(99%)完美解决方案
- 利用python批量修改文件名称
- 深度学习框架PyTorch一书的学习-第四章-神经网络工具箱nn
- UBC、谷歌联合Hinton等提出3D点云的无监督胶囊网络,多任务上实现SOTA
- 电脑怎么卸载软件干净_电脑卸载软件怎么卸载?
- python实验收获与反思 100字_期中考试总结与反思100字4篇
- UI_storyboard实现页面回调
- GoldWave2020注册激活码版下载音频处理制作教程
- 如何重置IE浏览器?重置IE浏览器的方法
- UE4相机贴图,屏幕标注
- OSChina 周日乱弹 ——愿你在天堂也能写代码
- dm385和8127的区别
- android 获取本地图片路径
- css3八卦,CSS3 阴阳八卦(太极)图动画