如何使用vsCode打开intel D435i深度相机

一、下载并安装相机SDK文件

1.SDK下载地址:

Release Intel® RealSense™ SDK 2.0 (v2.54.2) · IntelRealSense/librealsense · GitHub

2.下载后,双击即可安装


 

3.环境配置

1)window的开始菜单,搜索环境变量,选择编辑系统环境变量

2)选择高级,选择环境变量

3)在系统变量里面,单击path,添加环境变量:C:\Program Files (x86)\Intel RealSense SDK 2.0\bin\x64

 4)单击图标即可打开相机软件

5)打开软件后,通过图片操作可以打开相机

二、安装openCV环境

打开cmd命令提示符窗口,输入pip install opencv-python,即可实现openCV的自动安装。

命令行输入python回车

再输入import cv2,无报错,表明安装ok。

#导入openCV库,实现相应的图片读写
import cv2  #导入openCV库的代码
#读取多通道
color_2 = cv2.imread('2.jpg')  #读取图片(316, 474, 3)
print(color_2.shape)  #输出通道
#读取单通道
gray_img = cv2.imread('2.jpg', cv2.IMREAD_GRAYSCALE)
print(gray_img.shape)  # 输出 
#指定文件的质量
cv2.imwrite('anglababy.jpg',color_2,(cv2.IMWRITE_JPEG_QUALITY,1))#数字越小越模糊
#绘图,用这个color_2的通道绘图
cv2.imshow('my_img_name_1', color_2)
cv2.imshow('my_img_name_2', gray_img)
cv2.waitKey(0)  # 阻塞等键盘输入, 使图片展示而不被关闭
cv2.destroyAllWindows()

简单使用例程:

基础使用可参考博文:

【基础知识】4、python-opencv 超详细介绍_opencv-python-CSDN博客

三、下载pyrealsense文件,完成本地安装

(此操作是已经完成VScode,python的安装后)

下载地址:https://pypi.org/project/pyrealsense2/#files 

下载版本与python版本对应,在命令行输入python即可查看版本号

命令行输入:pip install  D:\安装文件夹\pyrealsense2-2.55.1.6486-cp311-cp311-win_amd64.whl 即可实现pyrealsense文件本地安装。

安装完这个文件后,就可以利用VScode打开相机,相关代码为:

import pyrealsense2 as rs       
import numpy as np              
import cv2                          

if __name__ == "__main__":
    pipeline = rs.pipeline() #创建一个管道对象,这是进行所有后续RealSense操作的基础
    config = rs.config() #创建一个配置对象
    config.enable_stream(rs.stream.depth, 640, 480, rs.format.z16, 30)      
    #初始化RealSenseSense摄像头,并配置为捕获640x480的深度和颜色图像;指定的深度数据格式,代表16位无符号整数;每秒30帧
    config.enable_stream(rs.stream.color,640, 480, rs.format.bgr8, 30)
    #启用彩色流,rs.format.bgr8表示每个像素由3个字节(即24位)表示,分别对应蓝色、绿色和红色通道。
    pipeline.start(config)
    #接受config的参数,启用管道
    try:
        while True:    #使用while循环不断捕获图像数据,直到用户关闭窗口。
            frames = pipeline.wait_for_frames()            
            # 使用wait_for_frames()函数等待捕获到一组深度和颜色图像帧的函数。返回的结果为一个包含深度和颜色帧的对象用于后续处理
            depth_frame = frames.get_depth_frame()          #获取深度帧
            color_frame = frames.get_color_frame()          #获取颜色帧
            if not depth_frame or not color_frame:          #如果捕获到的帧中没有深度或颜色图像,则跳过当前循环,等待下一帧。
                continue

            
            depth_image = np.asanyarray(depth_frame.get_data())     # 将深度帧转换为NumPy数组
            color_image = np.asanyarray(color_frame.get_data())     # 将颜色帧转换为NumPy数组
      
            # cv2.applyColorMap()将深度图像转化为彩色图像,以便更好的可视化分析
            # cv2.convertScaleAbs(depth_image, alpha=0.03)将每个像素值乘以缩放因子0.03,像素值缩放后并返回一个8位无符号整数类型的图像
            # cv2.COLORMAP_JET是使用JET颜色映射表,表示将灰度映射到JET表上,生成彩色图
            depth_colormap = cv2.applyColorMap(cv2.convertScaleAbs(depth_image, alpha=0.07), cv2.COLORMAP_JET)      
            # 将图像color_impage和depth_colormap水平堆叠
            images = np.hstack((color_image, depth_colormap))
            # 设置窗口,窗口大小根据图像自动调整
            cv2.namedWindow('RealSense', cv2.WINDOW_AUTOSIZE) 
            # 将图像images显示在窗口中         
            cv2.imshow('RealSense', images)
            #使用cv2.waitKey()函数等待用户按下键盘上的某个键,并返回按键的ASCII码。
            key = cv2.waitKey(1)                    
            # key&0xFF表示只取低8位,再判断是否位‘q’或者esc
            if key & 0xFF == ord('q') or key == 27:           
                cv2.destroyAllWindows() # 关闭窗口
                break
    finally:
        # 停止管道流,释放资源
        pipeline.stop()

b站相关配置视频:

​​​​​​​Windows下的Inter Realsens D435/D435i环境配置,深度相机用Python调用_哔哩哔哩_bilibili

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/680622.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

WebGL开发时尚设计系统

开发一个基于WebGL的时尚设计系统可以为用户提供一个互动、实时的3D体验,允许他们设计和试穿虚拟服装。这个系统可以广泛应用于时尚设计、电子商务、虚拟试衣间等领域。以下是开发此系统的主要步骤和关键技术。北京木奇移动技术有限公司,专业的软件外包开…

手机录屏怎么没有声音?一键排查,轻松解决!

“手机录屏怎么没有声音?今天录制了一个线上的音乐会,结束的时候发现完全没有声音,我检查了手机的设置,录屏功能看起来是正常的,但为什么就是录不到声音呢?希望大家能帮我解答这个疑惑。” 随着智能手机的…

中电金信:从规划到落地,中电金信全程陪伴式服务助力泛金融数字化转型

在当前的全球经济和金融发展格局中,金融行业正经历着一场以数字化为核心的快速转型。中国银行业和保险业已经成功探索出一条数字化转型的路径,并积累了丰富的实践经验。然而,泛金融领域则仍处于数字化转型的初期阶段,其转型能力因…

【golang学习之旅】Go中的cron定时任务

系列文章 【golang学习之旅】报错:a declared but not used 【golang学习之旅】Go 的基本数据类型 【golang学习之旅】深入理解字符串string数据类型 【golang学习之旅】go mod tidy 【golang学习之旅】记录一次 panic case : reflect: reflect.Value.SetInt using…

书生·浦语大模型全链路开源体系-笔记作业2

全部写成了shell脚本,可以一键执行。 笔记: 1. 环境安装(InternStudio开发机) # 1. 创建conda环境 studio-conda -o internlm-base -t demo # 2. 激活conda环境 conda activate demo # 3. 安装额外的依赖 pip install huggingface-hub0.17.3 pip inst…

【深度学习】目标检测,Faster-RCNN算法训练,使用mmdetection训练

文章目录 资料环境数据测试 资料 https://mmdetection.readthedocs.io/zh-cn/latest/user_guides/config.html 环境 Dockerfile ARG PYTORCH"1.9.0" ARG CUDA"11.1" ARG CUDNN"8"FROM pytorch/pytorch:${PYTORCH}-cuda${CUDA}-cudnn${CUDNN}…

图片和PDF展示预览、并支持下载

需求 展示图片和PDF类型&#xff0c;并且点击图片或者PDF可以预览 第一步&#xff1a;遍历所有的图片和PDF列表 <div v-for"(data,index) in parerFont(item.fileInfo)" :key"index" class"data-list-item"><downloadCard :file-inf…

QT 信号和槽 多对一关联示例,多个信号,一个槽函数响应,多个信号源如何绑定一个槽函数

三个顾客 Anderson、Bruce、Castiel 都要订饭&#xff0c;分别对应三个按钮&#xff0c;点击一个按钮&#xff0c;就会弹出给该顾客送饭的消息。注意这个例子只使用一个槽函数&#xff0c;而三个顾客名称是不一样的&#xff0c;弹窗时显示的消息不一样&#xff0c;这需要一些 技…

EV24CXXA EEPROM 选型

如何选择一个靠谱的EEPROM? EV24C128A EV24C256A EV24C512A 是用得最多的

在哪里可以制作微信点餐功能呢

在繁忙的都市生活中&#xff0c;餐饮行业作为与人们日常生活息息相关的行业&#xff0c;其服务质量和便捷性一直备受关注。随着科技的不断发展&#xff0c;微信点餐功能以其便捷、高效的特点&#xff0c;逐渐成为了餐饮行业的新宠。今天&#xff0c;就让我们一起探讨微信点餐的…

基于SSM的“本科生毕业设计选题系统”的设计与实现(源码+数据库+文档)

基于SSM的“本科生毕业设计选题系统”的设计与实现&#xff08;源码数据库文档) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SSM 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 本科生毕业设计选题系统功能结构图 系统首页界面 课题信…

「漏洞复现」用友NC pagesServlet SQL注入漏洞(XVE-2024-13067)

0x01 免责声明 请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;作者不为此承担任何责任。工具来自网络&#xff0c;安全性自测&#xff0c;如有侵权请联系删…

Keil编译bin格式固件方法

打开Option选项卡&#xff0c;选择User&#xff0c;在After Build/Rebuild下面增加以下命令&#xff1a; fromelf.exe --bin -o "L.bin" "#L"

【人工智能】第六部分:ChatGPT的进一步发展和研究方向

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…

【管理咨询宝藏124】通过BLM打通前端业务与财务的双轨制设计方案

本报告首发于公号“管理咨询宝藏”&#xff0c;如需阅读完整版报告内容&#xff0c;请查阅公号“管理咨询宝藏”。 【管理咨询宝藏124】通过BLM打通前端业务与财务的双轨制设计方案 【格式】PDF版本 【关键词】BLM、组织架构设计、流程优化 【核心观点】 - 运用“拉通业务财务…

第54期|GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区&#xff0c;集成了生成预训练Transformer&#xff08;GPT&#xff09;、人工智能生成内容&#xff08;AIGC&#xff09;以及大语言模型&#xff08;LLM&#xff09;等安全领域应用的知识。在这里&#xff0c;您可以找…

图解PHP MySQL:服务器端Web开发入门

&#x1f482; 个人网站:【 摸鱼游戏】【神级代码资源网站】【工具大全】&#x1f91f; 一站式轻松构建小程序、Web网站、移动应用&#xff1a;&#x1f449;注册地址&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交…

微服务学习Day9-分布式事务Seata

文章目录 分布式事务seata引入理论基础CAP定理BASE理论 初识Seata动手实践XA模式AT模式TCC模式SAGA模式 高可用 分布式事务seata 引入 理论基础 CAP定理 BASE理论 初识Seata 动手实践 XA模式 AT模式 TCC模式 Service Slf4j public class AccountTCCServiceImpl implements A…

AI论文:如何利用AI工具撰写毕业论文?

写作这件事一直让我们从小学时期就开始头痛&#xff0c;初高中时期800字的作文让我们焦头烂额&#xff0c;一篇作文里用尽了口水话&#xff0c;拼拼凑凑才勉强完成。 大学时期以为可以轻松顺利毕业&#xff0c;结果毕业前的最后一道坎拦住我们的是毕业论文&#xff0c;这玩意不…

嵌入式C语言--Pragma Section与Map文件

嵌入式C语言–Pragma Section与Map文件 嵌入式C语言--Pragma Section与Map文件 嵌入式C语言--Pragma Section与Map文件一. Pragma修饰符二. Map文件1&#xff09;什么是map文件2&#xff09;map文件的构成3&#xff09;常用的段映射地址4&#xff09;map文件生成 三. Section修…