ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Ubuntu下使用Python调用乐视三合一摄像头

2021-03-18 14:01:08  阅读:538  来源: 互联网

标签:dpt Python frame cv2 depth 乐视 install Ubuntu 摄像头


Ubuntu下使用Python调用乐视三合一摄像头

前言

​ 上一篇文章https://blog.csdn.net/qq_44847636/article/details/114958454介绍了如何在 Windows下使用Python调用乐视三合一摄像头,这篇文章会和大家分享,如何在Ubuntu(linux)下调用乐视三合一摄像头…

配置过程

1)添加驱动

这里我插上摄像头 lsusb就能看见两个设备,如果你的没显示的话,可以根据我之前的文章安装以下驱动。

在这里插入图片描述

2)下载opencv、openni库

安装opencv:pip3 install opencv-python -i https://pypi.mirrors.ustc.edu.cn/simple/

在这里插入图片描述

(这里我这边用中科大的源非常快)

安装openni库:pip install openni

在这里插入图片描述

安装完成。

3)配置SDK环境

从官网https://orbbec3d.com/develop下载openni SDK文件:

在这里插入图片描述

在下载好的文件下给install.sh添加权限:sudo chmod 777 install.sh ,再执行:sudo ./install.sh ;具体相对地址如下所示:

在这里插入图片描述

这时候会生成一个 OpenNIDevEnvironment 文件。

为了不需要一直source:

sudo gedit ~/bashrc,然后将下面一行代码加在文件最后面,

source ~/install/OpenNI_2.3.0.66/Linux/OpenNI-Linux-x64-2.3.0.66/OpenNIDevEnvironment

这里要根据你自己的安装位置改一下。

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(2)     #这里的摄像头可能要改一下,它可能自动调用电脑摄像头
    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()


测试结果:

在这里插入图片描述

测试成功!

在这里插入图片描述

这里有个小bub没解决,这里Run的时候还是有问题,但是用Terminal跑是没问题的,后续解决…

参考资料

[1]、Wnidows下使用Python调用乐视三合一摄像头:https://blog.csdn.net/qq_44847636/article/details/114958454

标签:dpt,Python,frame,cv2,depth,乐视,install,Ubuntu,摄像头
来源: https://blog.csdn.net/qq_44847636/article/details/114976370

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有