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

  • 苹果手机闹钟怎么设置隔几分钟(苹果手机闹钟怎么换铃声)

    苹果手机闹钟怎么设置隔几分钟(苹果手机闹钟怎么换铃声)

  • 微信发视频号怎么设置仅自己可见(微信发视频号怎么设置不让别人看到)

    微信发视频号怎么设置仅自己可见(微信发视频号怎么设置不让别人看到)

  • 微信登不上去怎么回事(微信登不上去怎么办密码忘了)

    微信登不上去怎么回事(微信登不上去怎么办密码忘了)

  • 微信取消二维码收款怎么办(微信取消二维码加好友)

    微信取消二维码收款怎么办(微信取消二维码加好友)

  • scrolllock键是什么意思(scrolllock键是干啥的)

    scrolllock键是什么意思(scrolllock键是干啥的)

  • 拼多多我的好友在哪里查看(拼多多我的好友别人能看到吗)

    拼多多我的好友在哪里查看(拼多多我的好友别人能看到吗)

  • 华为p30pro怎么连接自拍杆(华为p30pro怎么连接蓝牙耳机)

    华为p30pro怎么连接自拍杆(华为p30pro怎么连接蓝牙耳机)

  • 苹果手机由于访问限制无法退出登录怎么办(苹果手机如何关闭更新)

    苹果手机由于访问限制无法退出登录怎么办(苹果手机如何关闭更新)

  • 打印机显示e3怎么解决(打印机显示e3怎么解决 打印机显示e3解决方法介绍)

    打印机显示e3怎么解决(打印机显示e3怎么解决 打印机显示e3解决方法介绍)

  • 淘宝标品和非标品的区别(淘宝标品和非标品的运营重点是什么)

    淘宝标品和非标品的区别(淘宝标品和非标品的运营重点是什么)

  • 打qq电话对方正在通话中是什么意思(打QQ电话对方正在其他设备)

    打qq电话对方正在通话中是什么意思(打QQ电话对方正在其他设备)

  • 拼多多是什么模式(拼多多是什么模式的电子商务平台)

    拼多多是什么模式(拼多多是什么模式的电子商务平台)

  • 监控硬盘坏了可以修吗(监控硬盘坏了可以用u盘代替吗)

    监控硬盘坏了可以修吗(监控硬盘坏了可以用u盘代替吗)

  • 荣耀v30解锁方式是什么(荣耀v30手机密码忘了怎么开锁)

    荣耀v30解锁方式是什么(荣耀v30手机密码忘了怎么开锁)

  • 微信图片怎么放大不了(微信图片怎么放到表格里)

    微信图片怎么放大不了(微信图片怎么放到表格里)

  • 数字计算机模拟计算机分类依据(数字计算机模拟计算机)

    数字计算机模拟计算机分类依据(数字计算机模拟计算机)

  • 苹果xr美版怎么改双卡(苹果xr美版怎么样)

    苹果xr美版怎么改双卡(苹果xr美版怎么样)

  • ssl协议在哪一层加密(ssl协议在哪一层开启)

    ssl协议在哪一层加密(ssl协议在哪一层开启)

  • 苹果xr怎么隐藏视频(苹果xr怎么隐藏app图标)

    苹果xr怎么隐藏视频(苹果xr怎么隐藏app图标)

  • iqoopro防水吗(iQOOPro防水吗?)

    iqoopro防水吗(iQOOPro防水吗?)

  • qq相册的视频能恢复吗(qq相册的视频能发抖音吗)

    qq相册的视频能恢复吗(qq相册的视频能发抖音吗)

  • 红米k20pro卡槽在哪(红米k20pro插卡口)

    红米k20pro卡槽在哪(红米k20pro插卡口)

  • win10与win7怎样组建局域网(win10电脑和win7电脑怎么共享文件)

    win10与win7怎样组建局域网(win10电脑和win7电脑怎么共享文件)

  • 基于 transformers 的 generate() 方法实现多样化文本生成:参数含义和算法原理解读(基于transformers的nlp入门 pdf)

    基于 transformers 的 generate() 方法实现多样化文本生成:参数含义和算法原理解读(基于transformers的nlp入门 pdf)

  • Ant Design-vue 解决input前后空格问题(推荐)

    Ant Design-vue 解决input前后空格问题(推荐)

  • 出口退税通俗理解
  • 资产负债表其他流动资产计算公式
  • 印花税每个证券不一样吗?
  • 专票没有抵扣联可以作废吗
  • 其他债券投资有减值,为什么其他权益工具投资没有减值
  • 中标服务费计入什么会计科目
  • 汇算清缴补交税款,怎么调整报表教程
  • 残疾人保障金做什么会计科目
  • 发票上的销货方是什么意思
  • 公司哪些支出不影响报表净利润总额
  • 公司账户被法院冻结了多久可以恢复
  • 个人到税务局开增值税专用发票
  • 红字使用禁忌
  • 票据的融资
  • 委托贷款的资金借出方是谁
  • 对外支付代扣代缴
  • 以前月度费用当期怎么入账合适?
  • 企业所得税为什么那么高
  • 合同和付款单位不一致发票应该开给谁
  • 小规模代扣代缴个税会计分录
  • 工程改造合同印花税
  • 出售二手车税收优惠
  • 收到福利费专票需要认证吗
  • 外币报表未分配利润折算
  • 资产组可收回金额包含商誉的可收回金额吗
  • 短期借款的明细科目是什么
  • 展会展位费发票税率
  • 收回公司代垫职工款项怎么做凭证?
  • 安置房视同销售需要缴纳所得税吗?
  • 出口退税系统怎么导入数据
  • 个税缴纳期数填1是什么意思
  • 纯粮食白酒广告语
  • 办公家具会计分录怎么做
  • 企业债券和公司债券
  • 离职员工工资退不退
  • 企业社保参保人数查询
  • 支付航天开票技术服务费280
  • 施工企业自建自用的工程
  • 售后租回怎么理解
  • 什么情况下可以领取失业保险金
  • php快速推送微信内容
  • Chrome谷歌浏览器网页
  • 安装elementUI
  • centos7配置自动获取ip
  • nginx怎么运行php
  • php用mysql连接数据库并查询
  • 事业结余对应政府会计哪个科目
  • 实收资本大于注册资本是什么意思
  • 小企业会计准则应付税款法
  • 日记账的定义
  • 固定资产直接记入费用科目
  • 商业企业购入商品
  • 收到银行承兑汇票怎么处理
  • 表彰奖励奖金规定
  • 代收污水处理费免税
  • 开具的简易计税凭证
  • 主营业务收入增加计入借方还是贷方
  • 库存商品主要包括
  • 收到银行利息记什么会计科目
  • 营改增后被挂靠的企业如何做账?
  • 成本费用率计算公式中包含税金及附加吗
  • win8如何添加启动项
  • Centos Nginx + Svbversion配置安装方法分享
  • centos 安装chia
  • parallel capacitor
  • powerdvd remote下载
  • win8语音助手怎么关闭
  • win7系统网络连接禁用怎么开启
  • easyui datagrid resize
  • cocos creator rpg
  • Unity3D游戏开发培训课程大纲
  • node.js alert
  • 批处理命令是什么语言
  • js展示
  • jquery鼠标移入移出切换图片
  • 东城国税局局长
  • 进项转出怎么做
  • 天津生育津贴如何查询申请进度
  • 余姚市税务局咨询热线
  • 福建莆田社保局在哪里
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设