赞
踩
之前第一篇文章介绍了乐视三合一体感摄像头–基本信息及windows下部分开 介绍了乐视三合一摄像头的基本信息和Python调用RGB摄像头,但是很可惜没有告诉大家如果调用深度图像;第二篇文章乐视三合一体感摄像头–windows下的开发2和大家分享了如何使用C++调用乐视三合一摄像头的RGB图像和深度图;但是我们还是希望使用更为简洁的语言python完成这所有的事情,这篇文章会告诉大家如何使用Python开发乐视三合一摄像头…
1)添加驱动
这一步在乐视三合一体感摄像头–基本信息及windows下部分开 有说,这里就不再多说了,
2)下载openni库、opencv
下载openni:pip install openni
下载opencv:pip install opencv
这个我之前已经下载好了
3)配置openni2.ddl环境
从官网https://orbbec3d.com/develop/#windows下载openni SDK
将此文件夹中的下述地址的openni2.ddl
文件和openni2
文件夹复制到你python主程序中:
Note:这里我试了很多,只有这个文件夹下的才能用!!!
4)运行程序
运行下述例程:
from openni import openni2 import numpy as np import cv2 def mousecallback(event, x, y, flags, param): if event == cv2.EVENT_LBUTTONDBLCLK: print(y, x, dpt[y, x]) 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(0) cv2.namedWindow('depth') cv2.setMouseCallback('depth', mousecallback) while True: frame = depth_stream.read_frame() dframe_data = np.array(frame.get_buffer_as_triplet()).reshape([480, 640, 2]) dpt1 = np.asarray(dframe_data[:, :, 0], dtype='float32') dpt2 = np.asarray(dframe_data[:, :, 1], dtype='float32') dpt2 *= 255 dpt = dpt1 + dpt2 dpt = dpt[:, ::-1] cv2.imshow('depth', dpt) ret, frame = cap.read() cv2.imshow('color', frame) key = cv2.waitKey(1) if int(key) == ord('q'): break depth_stream.stop() dev.close()
运行结果:
配置成功!
1、https://blog.csdn.net/weixin_37863258/article/details/112311668
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。