一、下载并安装相机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