位置: IT常识 - 正文

【ZED】从零开始使用ZED相机(二):打开相机+捕获图像(从 零开始)

编辑:rootadmin
【ZED】从零开始使用ZED相机(二):打开相机+捕获图像 引言

推荐整理分享【ZED】从零开始使用ZED相机(二):打开相机+捕获图像(从 零开始),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:《从零开始》完整版 小说,《从零开始》完整版 小说,从零开始door,书名《从零开始》,“从零开始”,从零开始realize,从零开始zero,从零开始zip,内容如对您有帮助,希望把文章链接给更多的朋友!

关于ZED相机的安装和配置可以先参考【ZED】从零开始使用ZED相机(一):windows下的安装配置与测试,接下来开始二次开发ZED相机。 阅读ZED API文档,选择自己使用的语言,学会相机的基本调用函数 笔者建议:安装包的samples与官方文档配合使用效果更加 必备导入库:(后面涉及的代码都要导入这两个库)

import pyzed.sl as slimport cv2 ZED开发目录:(1)打开相机,终端打印相机的ZED相机的基本信息(2)捕获图像(左、右、深度图等)+ 获取计算的数据(视差、深度、3D数据等)【ZED】从零开始使用ZED相机(二):打开相机+捕获图像(从 零开始)

下面详细展开

1 hello_zed(初见ZED)import pyzed.sl as slimport cv2 def hello_zed(): # 创建相机对象 zed = sl.Camera() # Camera是非常重要的一个类 # 创建初始化参数对象并配置初始化参数 init_params = sl.InitParameters() init_params.sdk_verbose = False # 相机有很多可以初始化的参数,用到一个认识一个 # 打开相机(终端打开,但是看不到相机的画面,需要用到cv2.imshow显示相机画面,后面再介绍) err = zed.open(init_params) # 指定参数打开相机 if err != sl.ERROR_CODE.SUCCESS: exit(1) # 获得相机的信息,笔者列举了一部分,并不是全部信息,读者可以自行探究 zed_info = zed.get_camera_information() print('相机序列号:%s' % zed_info.serial_number) print('相机型号:%s' % zed_info.camera_model) print('相机分辨率: width:%s, height:%s' % (zed_info.camera_resolution.width, zed_info.camera_resolution.height)) print('相机FPS:%s' % zed_info.camera_fps) print('相机外部参数:') print('相机旋转矩阵R:%s' % zed_info.calibration_parameters.R) print('相机变换矩阵T:%s' % zed_info.calibration_parameters.T) print('相机基距:%s' % zed_info.calibration_parameters.get_camera_baseline()) print('初始化参数:') zed_init = zed.get_init_parameters() print('相机分辨率:%s' % (zed_init.camera_resolution)) print('深度最小:%s' % (zed_init.depth_minimum_distance)) print('深度最大:%s' % (zed_init.depth_maximum_distance)) # 关闭相机 zed.close()if __name__ == "__main__": hello_zed()2 image_capture(捕获图像)import pyzed.sl as slimport cv2 import os# 2. 捕获图像def image_capture(): zed = sl.Camera() # 设置相机的分辨率1080和采集帧率30fps init_params = sl.InitParameters() init_params.camera_resolution = sl.RESOLUTION.HD1080 # Use HD1080 video mode init_params.camera_fps = 30 # fps可选:15、30、60、100 err = zed.open(init_params) # 根据自定义参数打开相机 if err != sl.ERROR_CODE.SUCCESS: exit(1) runtime_parameters = sl.RuntimeParameters() # 设置相机获取参数 runtime_parameters.sensing_mode = sl.SENSING_MODE.STANDARD i = 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_resolution w, h = resolution.width , resolution.height x,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退出 break if key & 0xFF == ord('s'): # 图像保存 savePath = os.path.join("./images", "V{:0>3d}.png".format(i)) # 注意根目录是否存在"./images"文件夹 cv2.imwrite(savePath, view) i = i + 1 zed.close()

视图显示结果如下:笔者通过设置按键“s”进行想要图像的保存,需要注意的是保存路径需要先创建好

终端打印如下:

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

分辨率选择

可捕获的视图

计算获得的视图

本文链接地址:https://www.jiuchutong.com/zhishi/297858.html 转载请保留说明!

上一篇:Win11任务管理器不显示GPU怎么办?三种方法解决(win11任务管理器卡死没响应)

下一篇:ORB特征(orb特征点匹配)

  • 微信没有手机号怎么找回登录密码(微信没有手机号了还可以用吗)

    微信没有手机号怎么找回登录密码(微信没有手机号了还可以用吗)

  • 怎么开淘宝店铺(怎么开淘宝店铺个人教程)

    怎么开淘宝店铺(怎么开淘宝店铺个人教程)

  • b社是哪个公司(b社全称)

    b社是哪个公司(b社全称)

  • 华为nova6se如何隐藏应用(华为nova6se如何添加桌面插件)

    华为nova6se如何隐藏应用(华为nova6se如何添加桌面插件)

  • 怎么唤醒小爱(怎么唤醒小爱音箱)

    怎么唤醒小爱(怎么唤醒小爱音箱)

  • 笔记本电脑相机打开是黑的(笔记本电脑相机无法使用怎么办)

    笔记本电脑相机打开是黑的(笔记本电脑相机无法使用怎么办)

  • 微信朋友动态怎么看一次就看不到了(微信朋友动态怎么弄)

    微信朋友动态怎么看一次就看不到了(微信朋友动态怎么弄)

  • 8g是多少mb(80g是多少mb)

    8g是多少mb(80g是多少mb)

  • 拼小圈怎么删掉(拼小圈怎么删掉我的带动态)

    拼小圈怎么删掉(拼小圈怎么删掉我的带动态)

  • 苹果手机照片有感叹号怎么办(苹果手机照片有感叹号模糊怎么回事)

    苹果手机照片有感叹号怎么办(苹果手机照片有感叹号模糊怎么回事)

  • 网易音乐关闭封面旋转(怎么关闭网易音乐人)

    网易音乐关闭封面旋转(怎么关闭网易音乐人)

  • 一个文档里面怎样设置两种纸张方向(一个文档里面怎么设置不同页页眉)

    一个文档里面怎样设置两种纸张方向(一个文档里面怎么设置不同页页眉)

  • 火山怎么屏蔽一个人(火山怎么屏蔽一个粉丝)

    火山怎么屏蔽一个人(火山怎么屏蔽一个粉丝)

  • 怎么关闭小米按键震动(怎么关闭小米按键触动)

    怎么关闭小米按键震动(怎么关闭小米按键触动)

  • 苹果xsmax支持nfc功能吗(苹果xsmax支持多少w充电)

    苹果xsmax支持nfc功能吗(苹果xsmax支持多少w充电)

  • mate305g版上市时间

    mate305g版上市时间

  • ass文件手机上用什么打开(ass文件手机用什么打开)

    ass文件手机上用什么打开(ass文件手机用什么打开)

  • 单反遮光罩有必要吗(单反用遮光罩照片有阴影吗)

    单反遮光罩有必要吗(单反用遮光罩照片有阴影吗)

  • 在微机中vga属于什么(在微机中,vga属于什么)

    在微机中vga属于什么(在微机中,vga属于什么)

  • 小米8长宽高多少厘米(小米8长宽高多少)

    小米8长宽高多少厘米(小米8长宽高多少)

  • x27vivo人脸识别设置在哪(vivo x27人脸识别)

    x27vivo人脸识别设置在哪(vivo x27人脸识别)

  • 三星smg9650是什么意思

    三星smg9650是什么意思

  • 华为旅行助手怎么打开(华为手机的旅行助手有什么用)

    华为旅行助手怎么打开(华为手机的旅行助手有什么用)

  • 钉钉可以虚拟位置吗(钉钉虚拟位置考勤打卡软件哪个好使)

    钉钉可以虚拟位置吗(钉钉虚拟位置考勤打卡软件哪个好使)

  • 荣耀v20有红外线吗(荣耀v20有红外线遥控功能吗)

    荣耀v20有红外线吗(荣耀v20有红外线遥控功能吗)

  • word的扩展名(Word的扩展名是)

    word的扩展名(Word的扩展名是)

  • 织梦dedecms统计tag个数的方法(织梦生成出现500)

    织梦dedecms统计tag个数的方法(织梦生成出现500)

  • 固定资产折旧方法年数总和法
  • 小规模纳税人工程发票几个点
  • 往期附加税申报错误更正后怎么退税
  • 收到增值税发票是进项还是销项
  • 土地出让金返还政策文件
  • 农产品流通环节有哪些
  • 车辆抵押贷款怎么做
  • 资金不需要验资,实收资本怎么入账
  • 预付房租收到发票后如何做账
  • 房地产经纪公司经营范围
  • 融资租赁承租人和出租人的会计处理
  • 劳务派遣公司发放工资是按照劳务报酬嘛
  • 免税发票备注栏
  • 税号里面字母是大写吗
  • 小规模纳税人国企
  • 重点创业人群
  • 没有生产产品,费用怎么结转
  • 库存现金可以做中转科目嘛为什么
  • 单位外汇账户可分为
  • 资产减值损失怎么处理
  • windows安装程序无法配置在硬件上
  • 经营费用与营业收入区别
  • 企业抄报税怎样操作
  • nod32kui.exe - nod32kui是什么进程 作用是什么
  • 付员工经济补偿金计入工资总额吗
  • u盘无内容
  • rrpcsb.exe - rrpcsb是什么进程 有什么用
  • 房地产企业用开发产品对外投资涉及税收
  • 触屏不灵敏怎么调整oppo
  • framework架构
  • 应付债券的应付利息怎么计算
  • vscode调试在哪
  • opencv的函数
  • 前端按钮跳转界面
  • php array_walk_recursive 使用自定的函数处理数组中的每一个元素
  • 进项不认证有什么风险
  • 加油票没有纳税怎么办
  • 企业发生的咨询费应计入哪个科目
  • 多付款退回怎样写说明
  • dedecms怎么改图片
  • 增值税发票没有抵扣联能作废吗
  • 差旅费计入工资合理吗
  • 资产负债表其他应付款怎么填
  • 增值税发票价税合计不能超过多少
  • 原始凭证的基本内容有会计分录吗
  • 注册资本印花税2023年新规定
  • 普票和专票的区别对比
  • 增值税在实际计算时采取什么方法
  • 银行承兑汇票贴现的账务处理
  • 股权转让是否需要全体股东签字
  • 未拿到发票如何处理
  • 借款合同相关法条
  • 固定资产可以一次性入费用的标准
  • 外派人员房租
  • 需求价格弹性是ep还是ed
  • 事业单位会计岗位属于哪一类
  • sql数据库检查
  • ubuntu 添加开机启动
  • 如何架设ftp
  • mac开机密码怎么取消
  • Linux下SSH Session复制功能实现方法
  • win7文件后缀名不全显示
  • Tutorial 3: First Triangle
  • bat关闭bat
  • openglvbo
  • opengl教程48讲
  • jquery网站开发
  • cmd替换文件命令
  • unity gui教程
  • jquery写网页
  • 安卓百分百
  • javascript函数大全
  • python 命令
  • javascript中的原型和原型链
  • 蓝牙模块手机程序
  • python能不能开发微信小程序
  • 怎么看网页的编码格式
  • ActivityManager: Warning: Activity not started, its current task has been brought to the front 的的问题
  • 电子税务局申报表在哪里查询
  • 党员e先锋中的支部云课堂在哪
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设