位置: 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特征点匹配)

  • iphone微信可以分身吗(苹果手机微信能不能分)

    iphone微信可以分身吗(苹果手机微信能不能分)

  • qq删除聊天记录对方还能看到吗(qq删除聊天记录怎么删)

    qq删除聊天记录对方还能看到吗(qq删除聊天记录怎么删)

  • 苹果钱包靠近读卡器没反应(苹果钱包靠近读卡器没反应咋回事)

    苹果钱包靠近读卡器没反应(苹果钱包靠近读卡器没反应咋回事)

  • 抖音不能点赞是怎么回事(抖音不能点赞是什么意思)

    抖音不能点赞是怎么回事(抖音不能点赞是什么意思)

  • p40如何设置虚拟键(华为p40设置虚拟按键在哪)

    p40如何设置虚拟键(华为p40设置虚拟按键在哪)

  • 滴滴打车能预约时间吗(滴滴打车能预约第二天的车吗)

    滴滴打车能预约时间吗(滴滴打车能预约第二天的车吗)

  • 抖音艾特抖音小助手有什么用(抖音艾特抖音小助手怎么去除)

    抖音艾特抖音小助手有什么用(抖音艾特抖音小助手怎么去除)

  • 华为手机快充设置(华为手机快充在哪设置)

    华为手机快充设置(华为手机快充在哪设置)

  • 华为手机辅助小球在哪(华为手机辅助小球)

    华为手机辅助小球在哪(华为手机辅助小球)

  • 苹果增强对比度要开吗(苹果增强对比度到底开不开)

    苹果增强对比度要开吗(苹果增强对比度到底开不开)

  • 小米9能换4000mah电池吗(小米9能换多大毫安的电池)

    小米9能换4000mah电池吗(小米9能换多大毫安的电池)

  • 抖音账号注销还能用吗(抖音账号注销还能注册吗)

    抖音账号注销还能用吗(抖音账号注销还能注册吗)

  • word中画线的笔在哪里(word2007画线的笔)

    word中画线的笔在哪里(word2007画线的笔)

  • word文档怎样填充颜色(word文档怎样填充)

    word文档怎样填充颜色(word文档怎样填充)

  • vivoy93怎么恢复原厂设置(vivoy93怎么恢复出厂设置忘记密码)

    vivoy93怎么恢复原厂设置(vivoy93怎么恢复出厂设置忘记密码)

  • 手机电话号码忘了怎么办(手机电话号码忘记了怎么查?)

    手机电话号码忘了怎么办(手机电话号码忘记了怎么查?)

  • 乐视手机怎么解屏幕锁(乐视手机怎么解锁)

    乐视手机怎么解屏幕锁(乐视手机怎么解锁)

  • word2010主页样本模板在哪(word的主页的样本模板在哪里)

    word2010主页样本模板在哪(word的主页的样本模板在哪里)

  • iphone非合约机是什么意思(苹果合约机和非合约机的质量区别)

    iphone非合约机是什么意思(苹果合约机和非合约机的质量区别)

  • 苹果手机相册怎么恢复(苹果手机相册怎么加密)

    苹果手机相册怎么恢复(苹果手机相册怎么加密)

  • etc怎么知道激活了(etc怎么重新激活)

    etc怎么知道激活了(etc怎么重新激活)

  • 华为荣耀9x电池容量(华为荣耀9x电池多少钱)

    华为荣耀9x电池容量(华为荣耀9x电池多少钱)

  • excel哪个版本免费(excel什么版本不收费)

    excel哪个版本免费(excel什么版本不收费)

  • 微信7.0版本声音怎么设置(微信声音小的解决方法)

    微信7.0版本声音怎么设置(微信声音小的解决方法)

  • 抖音录屏怎么加音乐(抖音录屏怎么加文字解说)

    抖音录屏怎么加音乐(抖音录屏怎么加文字解说)

  • Imessage spam投诉脚本使用教程(ios14 举报短信)

    Imessage spam投诉脚本使用教程(ios14 举报短信)

  • 汇算清缴补交所得税会计分录小企业会计政策
  • 来料加工账务处理举例
  • 印花税按什么金额吗
  • 增值税加计抵减最新政策2022
  • 年金个税税率表
  • 2019所得税新政策
  • 多付银行承兑退回的会计分录怎么写?
  • 拍卖土地支付的法律依据
  • 广告服务怎么做分录
  • 纳税评估滞纳金会计分录怎么处理?
  • 年底结账会计分录一定要做吗
  • 税务行政复议范围不包括
  • 农村承包土地能卖土吗
  • 应交税费应交增值税
  • 个人房产税征收标准
  • 核销单怎么做
  • 减免附加税分录怎么做
  • 预收培训费怎么确认增值税
  • 印花税是怎么计税的
  • 周转材料属于什么会计分录
  • 刚注册的有限公司可以马上注销吗
  • windows 11预览版
  • 支付宝安全控件是什么
  • win 7系统如何备份
  • 办理营业执照费用和流程
  • php 语法
  • rtlrack.exe - rtlrack是什么进程 有什么用
  • 对公账户收款
  • gwsloader.exe是什么意思
  • 小程序在线反编译网页版
  • 跨省异地施工
  • 超期未认证的发票怎么处理
  • 个人股权转让应税凭证名称
  • composer环境变量
  • echarts图大小设置
  • 总纳税与就地纳税区别
  • java泛型方法的使用
  • 注册资本增加了怎么做账
  • 购房发票可以对折吗
  • python从键盘输入正整数n,计算1+2+3
  • 违约金是否计征消费税
  • 自然人独资公司可以变更法人吗
  • 专家评审费属于咨询费吗
  • 小微企业0税务报税流程
  • 房屋租赁物业费谁承担
  • 消防设备要多少钱
  • 研发活动发生的费用
  • 固定成本和变动成本举例
  • 2021年村级财务管理要点
  • 顺流交易和逆流交易会计分录
  • 无形资产分期付款入账价值如何核算?
  • 自来水厂被收购,员工怎么办
  • 进项税转出如何结转
  • 无形资产可以占多少比例
  • 个人垫付社保会计分录
  • 年报审计调整
  • 其他收入属于什么收入
  • 房地产企业会计科目
  • mysql查询语句大全讲解
  • mysql 5.7.22安装教程
  • win10预览版21301bug
  • winxp开启远程控制
  • windows xp的安装
  • ubuntu20开机自启动
  • route.exe - route是什么进程 有什么用
  • win7旗舰版如何禁止更新
  • linux free 命令
  • pcn是什么软件
  • 解决的英文
  • win10系统附件在哪里
  • 批处理查询文件是否存在
  • vbs和批处理区别
  • jQuery实现两个下拉列表关联
  • node.js利用cas实现单点登录
  • jquery插件是干什么的
  • 别踩白块世界纪录视频
  • 怎样查税务师事务所信息
  • 卷票发票丢失怎么办理
  • 收心归位经典语录短句
  • 辽宁国税征期日历
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设