ZED双目相机环境配置
官方资料:stereolabs/zed-python-api: Python API for the ZED SDK (github.com)
1,配置ZED相机环境
1.安装CUDA
查看电脑是否安装CUDA,安装过程可参考以下博文:
如何选择匹配的CUDA版本:https://blog.csdn.net/iamqianrenzhan/article/details/89343601
cuda安装教程+cudnn安装教程:https://blog.csdn.net/sinat_23619409/article/details/84202651
win10下CUDA和CUDNN的安装:https://blog.csdn.net/u010618587/article/details/82940528
2.安装ZED-SDK
下载与电脑操作系统以及CUDA版本对应的SDK,官方下载链接如下:
ZED SDK 3.8 - Download | Stereolabs

选择 <= 自己电脑CUDA版本的SDK

安装SDK成功后,我们进入ZED SDK文件夹中的tools子文件夹,运行ZED Explorer.exe 以及 ZED Depth Viewer.exe,查看ZED相机是否能正常启用工作。

报错:缺少dll,去bin文件夹下,找到dll,复制到tools下
3.安装ZED-Python-API(pyzed)
默认电脑已配置好Python-OpenCV环境,
![]()
pip install cythonpip install numpypip install opencv-python pip install pyopengl
ZED SDK 安装文件夹中有一个 Python 脚本(get_python_api.py),可以自动检测操作系统、CUDA 和 Python 版本并下载相应的预编译 Python API 包(pyzed)。

首先在ZED SDK文件夹中,找到get_python_api.py脚本,并获取其路径信息,最后我是在Anaconda Prompt运行该脚本。在下图中的运行结果可以看到检测出操作系统、CUDA版本等信息,并自动下载与其对应的ZED-Python-API 包。

如果遇到ZED-Python-API 包下载不下来,或者报错的情况。我们可以复制运行结果中的下载链接(如:上图中对应的API下载链接是 https://download.stereolabs.com/zedsdk/4.1/whl/win_amd64/pyzed-4.1-cp38-cp38-win_amd64.whl),在浏览器上直接访问,即可下载。
下载得到ZED-Python-API 包,也就是pyzed的.whl文件,将pyzed.whl文件放入ZED SDK 文件夹。

然后在Anaconda Prompt 输入 pip install 命令,对pyzed.whl文件进行安装,这样我们就完成了对ZED相机的Win11-Python开发环境配置。
![]()
进入bin文件夹下,将所有dll文件复制到E:\Anaconda3\envs\zed\Lib\site-packages\pyzed下
4、Hello ZED(Python)
配置好 ZED 的 Python 开发环境后,我们可以进行一个简单的教程案例来实现调用ZED的Python API。
在本例中,我们简单地检索ZED相机的序列号:打开 ZED相机,然后打印其序列号,然后关闭相机。
import pyzed.sl as sldef main():# Create a Camera objectzed = sl.Camera()# Create a InitParameters object and set configuration parametersinit_params = sl.InitParameters()init_params.sdk_verbose = False# Open the cameraerr = zed.open(init_params)if err != sl.ERROR_CODE.SUCCESS:exit(1)# Get camera information (ZED serial number)zed_serial = zed.get_camera_information().serial_numberprint("Hello! This is my serial number: {0}".format(zed_serial))# Close the camerazed.close()if __name__ == "__main__":main()
5,image_capture.py
import pyzed.sl as sl
import cv2
import os
import numpy as np
# 2. 捕获图像
def image_capture():zed = sl.Camera()# 设置相机的分辨率1080和采集帧率30fpsinit_params = sl.InitParameters()init_params.camera_resolution = sl.RESOLUTION.HD1080 # Use HD1080 video modeinit_params.camera_fps = 30 # fps可选:15、30、60、100err = zed.open(init_params) # 根据自定义参数打开相机if err != sl.ERROR_CODE.SUCCESS:exit(1)runtime_parameters = sl.RuntimeParameters() # 设置相机获取参数runtime_parameters.sensing_mode = sl.SENSING_MODE.STANDARDi = 0# 创建sl.Mat对象来存储图像(容器),Mat类可以处理1到4个通道的多种矩阵格式(定义储存图象的类型)image = sl.Mat() # 图像disparity = sl.Mat() # 视差值dep = sl.Mat() # 深度图depth = sl.Mat() # 深度值point_cloud = sl.Mat() # 点云数据# 获取分辨率resolution = zed.get_camera_information().camera_resolutionw, h = resolution.width , resolution.heightx,y = int(w/2),int(h/2) # 中心点while True:# 获取最新的图像,修正它们,并基于提供的RuntimeParameters(深度,点云,跟踪等)计算测量值。if zed.grab(runtime_parameters) == sl.ERROR_CODE.SUCCESS: # 相机成功获取图象# 获取图像timestamp = zed.get_timestamp(sl.TIME_REFERENCE.CURRENT) # 获取图像被捕获时的时间点zed.retrieve_image(image, sl.VIEW.LEFT) # image:容器,sl.VIEW.LEFT:内容img = image.get_data() # 转换成图像数组,便于后续的显示或者储存# 获取视差值zed.retrieve_measure(disparity,sl.MEASURE.DISPARITY,sl.MEM.CPU)dis_map = disparity.get_data()# 获取深度zed.retrieve_measure(depth,sl.MEASURE.DEPTH,sl.MEM.CPU) # 深度值zed.retrieve_image(dep,sl.VIEW.DEPTH) # 深度图depth_map = depth.get_data()dep_map = dep.get_data()# 获取点云zed.retrieve_measure(point_cloud,sl.MEASURE.XYZBGRA,sl.MEM.CPU)point_map = point_cloud.get_data()print('时间点',timestamp.get_seconds(),'中心点视差值',dis_map[x,y],'中心点深度值',depth_map[x,y],'中心点云数据',point_map[x,y])# 利用cv2.imshow显示视图,并对想要的视图进行保存view = np.concatenate((cv2.resize(img,(640,360)),cv2.resize(dep_map,(640,360))),axis=1)cv2.imshow("View", view)key = cv2.waitKey(1)if key & 0xFF == 27: # esc退出breakif key & 0xFF == ord('s'): # 图像保存savePath = os.path.join("./images", "V{:0>3d}.png".format(i)) # 注意根目录是否存在"./images"文件夹cv2.imwrite(savePath, view)i = i + 1zed.close()image_capture()

代码中涉及的可选参数(点击关键字可进入官方文档链接)
分辨率选择

可捕获的视图

计算获得的视图

相关文章:
ZED双目相机环境配置
官方资料:stereolabs/zed-python-api: Python API for the ZED SDK (github.com) 1,配置ZED相机环境 1.安装CUDA 查看电脑是否安装CUDA,安装过程可参考以下博文: 如何选择匹配的CUDA版本:https://blog.csdn.net/iam…...
【最新鸿蒙应开发】——HarmonyOS沙箱目录
鸿蒙应用沙箱目录 1. 应用沙箱概念 应用沙箱是一种以安全防护为目的的隔离机制,避免数据受到恶意路径穿越访问。在这种沙箱的保护机制下,应用可见的目录范围即为应用沙箱目录。 对于每个应用,系统会在内部存储空间映射出一个专属的应用沙箱…...
SringBoot 如何使用HTTPS请求及Nginx配置Https
SringBoot 如何使用HTTPS请求及Nginx配置Https SringBoot 如何使用HTTPS请求生成证书导入证书及配制创建配置类将pfx转成.key和.pem Nginx 安装SSL依赖./configure 安装依赖编译安装完openssl后报了新错 Nginx配置 SringBoot 如何使用HTTPS请求 生成证书 由于业务数据在传输过…...
14.基于人类反馈的强化学习(RLHF)技术详解
基于人类反馈的强化学习(RLHF)技术详解 RLHF 技术拆解 RLHF 是一项涉及多个模型和不同训练阶段的复杂概念,我们按三个步骤分解: 预训练一个语言模型 (LM) ;训练一个奖励模型 (Reward Model,RM) …...
Linux Radix tree简介
文章目录 前言一、Radix tree简介二、Operations2.1 Lookup2.2 Insertion2.3 Deletion 三、Linux内核API3.1 初始化3.2 radix_tree_insert/delete3.3 radix_tree_preload3.4 radix_tree_lookup3.5 radix_tree_tag_set3.6 radix_tree_tagged 四、address_space4.1 简介4.2 相应数…...
maven 下载jar包加载顺序
在 Maven 构建过程中,依赖的下载源取决于你的 pom.xml 文件中的 配置、settings.xml 文件中的 和 配置,以及你的 Nexus 仓库的设置。以下是决定 Maven 从哪个仓库下载依赖的关键点: 仓库配置优先级 项目 pom.xml 文件中的仓库配置ÿ…...
新增多种图表类型,新增视频、流媒体、跑马灯组件,DataEase开源数据可视化分析工具v2.7.0发布
2024年6月11日,人人可用的开源数据可视化分析工具DataEase正式发布v2.7.0版本。 这一版本的功能变动包括:图表方面,新增对称条形图、桑基图、流向地图、进度条等图表类型,并对已有的仪表盘、指标卡、明细表、汇总表、水波图、象限…...
supOS工业操作系统的由来
作为“世界制造工厂”,我国拥有最庞大、最完整的工业企业集群与产业链,其中既有众多全球性制造巨头,又有数以百万计的中小型工厂。但这些企业的制造工厂在推进数字化、网络化、智能化进程时普遍受阻:1)系统软件定制程度…...
6spark期末复习
1)var a:Double5;var b:Int7;那么print(a*b) 2) var a:Int5; var bif(a>6) 7 println(b) 3)var a:Int16; var b:Int13; var cif(a>b) 5 else 7; println(c) 4. object TestDemo { print("B") def main(args: Array[String]): Unit { } } 5 def mai…...
C语言背景⾊、线条颜⾊和填充颜⾊有什么区别?何时使⽤?
一、问题 背景⾊、线条颜⾊和填充颜⾊,这⼏种颜⾊有什么区别?什么时候使⽤? 二、解答 背景⾊:是整个屏幕的底⾊,设置之后,屏幕空⽩区域都变成该颜⾊。 线条颜⾊:是画线时所⽤的颜⾊。⽂字输出也…...
Python 植物大战僵尸游戏【含Python源码 MX_012期】
简介: "植物大战僵尸"(Plants vs. Zombies)是一款由PopCap Games开发的流行塔防游戏,最初于2009年发布。游戏的概念是在僵尸入侵的情境下,玩家通过种植不同种类的植物来保护他们的房屋免受僵尸的侵袭。在游…...
搜索文档的好助手
搜索文档的好助手 AnyTXT SearcherEverything AnyTXT Searcher 文本内容搜索 下载:AnyTXT Searcher Everything 它能够基于文件名快速定文件和文件夹位置 下载:Everything...
如何计算 GPT 的 Tokens 数量?
基本介绍 随着人工智能大模型技术的迅速发展,一种创新的计费模式正在逐渐普及,即以“令牌”(Token)作为衡量使用成本的单位。那么,究竟什么是Token呢? Token 是一种将自然语言文本转化为计算机可以理解的…...
在远程服务器上安装虚拟环境
一、Anaconda环境安装 先下载Anaconda Linux版,并将其重命名为anaconda2020.sh wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2020.07-Linux-x86_64.sh --header"User-Agent: Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.11 (K…...
《站在2024年的十字路口:计算机专业是否仍是高考生的明智之选?》
文章目录 每日一句正能量前言行业竞争现状行业饱和度和竞争激烈程度[^3^]新兴技术的影响[^3^]人才需求的变化[^3^]行业创新动态如何保持竞争力 专业与个人的匹配度判断专业所需的技术能力专业核心课程对学生的要求个人兴趣和性格特点专业对口的职业发展要求实践和经验个人价值观…...
从零手写实现 nginx-23-nginx 对于 cookie 的操作
前言 大家好,我是老马。很高兴遇到你。 我们为 java 开发者实现了 java 版本的 nginx https://github.com/houbb/nginx4j 如果你想知道 servlet 如何处理的,可以参考我的另一个项目: 手写从零实现简易版 tomcat minicat 手写 nginx 系列 …...
Python语言例题集(015)
#!/usr/bin/python3 #使用列表模仿队列的操作。 class Queue(): def init(self): self.queue[] def enqueue(self,data):self.queue.insert(0,data)def dequeue(self):if len(self.queue):return self.queue.pop()return "队列是空的"qQueue() q.enqueue(‘Grape’…...
Halcon C++ XLD 数据写入图片
1. xld转换为Region 生成与调用函数 gen_cross_contour_xld (CrossXld, Rows, UpdateCols, 6, 0) get_xld_region (CrossXld, xldRegions)函数实现 get_xld_region * 计算XLD个数 count_obj (BaseXld, Number) * 生成空的区域(结果) gen_empty_region…...
一文入门vim
先来波快问快答。 第一个问题,vim是什么? vim就是一文本编辑器。 第二个问题,我们为什么要使用vim? 好像在终端中可选择使用的文本编辑器也不多(其他有,但是相对而言vim用的比较广泛) 第三…...
植物ATAC-seq文献集锦(三)——果实发育篇
ATAC-seq在植物研究领域的应用我们已经介绍2期了,本期我们聚焦ATAC-seq技术在果实发育方向的应用案例。 植物ATAC-seq文献集锦(一)——基因组篇 植物ATAC-seq文献集锦(二)——生长发育篇 文献一:Ident…...
探索AI辅助开发新范式:让快马平台成为你的专属前端智囊
最近在做一个需要收集用户反馈的小项目,发现用传统的表单方式实在太死板了。正好看到InsCode(快马)平台的AI辅助开发功能,决定试试用AI生成一个交互式反馈墙。没想到整个过程出奇地顺利,这里分享一下我的实践心得。 需求分析阶段 我首先在平…...
别让电源拖后腿!手把手教你搞定Xilinx 7系列FPGA(以XC7K325T为例)的供电设计
别让电源拖后腿!手把手教你搞定Xilinx 7系列FPGA(以XC7K325T为例)的供电设计 第一次翻开Xilinx 7系列FPGA的硬件手册时,相信不少工程师都会被密密麻麻的电源轨搞得头晕目眩。VCCINT、VCCBRAM、VCCO、VMGTAVCC...这些看似简单的电压…...
眼图分析:高速数字信号完整性的关键工具
1. 眼图基础概念解析 眼图(Eye Diagram)是数字信号完整性分析中最重要的工具之一。作为一名硬件工程师,我每天都会用眼图来评估信号质量。简单来说,眼图就是将数字信号在时间轴上重复叠加后形成的图形,因其形状类似人眼…...
联想新品入局,AI智能终端市场格局生变
联想新品发布,直击Mac mini“养虾”痛点2026年3月31日,联想集团正式发布YOGA AI Mini与Think AI Tiny两款AI原生智能终端。其中,YOGA AI Mini面向个人消费市场,精准对标当下被众多用户用于运行OpenClaw的Mac mini。Mac mini虽因便…...
大数据领域Hive与Spark的结合使用案例
大数据领域Hive与Spark的结合使用案例 关键词:Hive、Spark、大数据处理、数据仓库、分布式计算、ETL、数据分析 摘要:在大数据技术栈中,Hive作为基于Hadoop的数据仓库工具,擅长海量数据的存储与离线分析;Spark作为高性能分布式计算引擎,在复杂数据处理和实时计算领域表现…...
基于高斯过程回归的MATLAB时间序列区间预测代码实现与解析
基于高斯过程回归(GPR)的时间序列区间预测 GPR时间序列区间预测 matlab代码 暂无Matlab版本要求 -- 推荐 2018B 版本及以上做时间序列最烦的就是拍脑袋给个“明天涨3%左右”——“左右”到底是正负0.5还是正负3?如果是风电发电的负荷申报,正负差多了要罚…...
Cadence Virtuoso实战:从反相器原理图到GDS版图,手把手搞定你的第一个CMOS Layout
Cadence Virtuoso实战:从反相器原理图到GDS版图全流程解析 在集成电路设计领域,从原理图到物理版图的实现是一个充满挑战又极具成就感的过程。对于初入行的工程师或微电子专业学生来说,掌握Cadence Virtuoso工具链的完整工作流程,…...
Amlogic S9XXX设备Armbian系统刷机全攻略:从问题诊断到优化配置
Amlogic S9XXX设备Armbian系统刷机全攻略:从问题诊断到优化配置 【免费下载链接】amlogic-s9xxx-armbian Supports running Armbian on Amlogic, Allwinner, and Rockchip devices. Support a311d, s922x, s905x3, s905x2, s912, s905d, s905x, s905w, s905, s905l,…...
革新性B站体验全流程优化:Bilibili-Evolved让卡顿成为历史
革新性B站体验全流程优化:Bilibili-Evolved让卡顿成为历史 【免费下载链接】Bilibili-Evolved 强大的哔哩哔哩增强脚本 项目地址: https://gitcode.com/gh_mirrors/bi/Bilibili-Evolved 你是否也曾遭遇这样的窘境:精心挑选的番剧在高潮时刻突然卡…...
3个高效步骤掌握B站视频下载工具:从解析到批量管理的完整方案
3个高效步骤掌握B站视频下载工具:从解析到批量管理的完整方案 【免费下载链接】bilidown 哔哩哔哩视频解析下载工具,支持 8K 视频、Hi-Res 音频、杜比视界下载、批量解析,可扫码登录,常驻托盘。 项目地址: https://gitcode.com/…...


