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

  • 腾讯会议可以换背景吗(腾讯会议可以换背景图吗)

    腾讯会议可以换背景吗(腾讯会议可以换背景图吗)

  • 苹果13充电提示音怎么设置(苹果13充电提示音怎么设置自己喜欢的音乐)

    苹果13充电提示音怎么设置(苹果13充电提示音怎么设置自己喜欢的音乐)

  • 小米10能插内存卡吗(小米10能插内存卡不)

    小米10能插内存卡吗(小米10能插内存卡不)

  • 小米mix3云服务怎么退出登录(小米要云服务)

    小米mix3云服务怎么退出登录(小米要云服务)

  • soul无声连麦是什么(soul连麦怎么没有了)

    soul无声连麦是什么(soul连麦怎么没有了)

  • 大连苹果保修查询多长时间(大连苹果保修查询电话)

    大连苹果保修查询多长时间(大连苹果保修查询电话)

  • 手机信号上出现HD是怎么回事(手机信号上出现h+是什么意思)

    手机信号上出现HD是怎么回事(手机信号上出现h+是什么意思)

  • 腾讯课堂有回音怎么解决(腾讯课堂回答问题有回音)

    腾讯课堂有回音怎么解决(腾讯课堂回答问题有回音)

  • 电脑ctrl键不能用(电脑的ctrl键用不了)

    电脑ctrl键不能用(电脑的ctrl键用不了)

  • 光猫lan灯一直闪烁

    光猫lan灯一直闪烁

  • 来电提醒有必要开通吗(来电提醒有什么用处)

    来电提醒有必要开通吗(来电提醒有什么用处)

  • 订阅号认证和不认证的区别(订阅号认证和不认证功能的区别)

    订阅号认证和不认证的区别(订阅号认证和不认证功能的区别)

  • mw782ch/a是什么意思(mw792ch/a是什么年份出的)

    mw782ch/a是什么意思(mw792ch/a是什么年份出的)

  • dp75sdi是kindle的哪个型号(kindledp755di是第几代)

    dp75sdi是kindle的哪个型号(kindledp755di是第几代)

  • 闲鱼取消订单对自己信誉有影响吗(闲鱼取消订单对方会知道吗)

    闲鱼取消订单对自己信誉有影响吗(闲鱼取消订单对方会知道吗)

  • wps怎么删除表格部分行(wps怎么删除表格里面的线)

    wps怎么删除表格部分行(wps怎么删除表格里面的线)

  • 6S摄像头下发热的原因(6s摄像头发热是怎么回事)

    6S摄像头下发热的原因(6s摄像头发热是怎么回事)

  • 淘宝怎么解决账户保护(淘宝怎么解除账单冻结)

    淘宝怎么解决账户保护(淘宝怎么解除账单冻结)

  • 退出qq群其他人能看到提示吗(退出qq群其他人怎么显示)

    退出qq群其他人能看到提示吗(退出qq群其他人怎么显示)

  • qq会员vip9什么时候出(qq的vip9)

    qq会员vip9什么时候出(qq的vip9)

  • 360家庭防火墙怎么关(360家庭防火墙怎么查看浏览网页)

    360家庭防火墙怎么关(360家庭防火墙怎么查看浏览网页)

  • linux下ffmpeg的使用方法详解(ffmpeg安装教程linux)

    linux下ffmpeg的使用方法详解(ffmpeg安装教程linux)

  • Vue3【Transition(效果、CSS 过渡、使用animation、TransitionGroup、 KeepAlive、Teleport )】(七)-全面详解(学习总结---从入门到深化)

    Vue3【Transition(效果、CSS 过渡、使用animation、TransitionGroup、 KeepAlive、Teleport )】(七)-全面详解(学习总结---从入门到深化)

  • 印花税申报表计税依据怎么填
  • 买车交的保险
  • 申请纳税申报怎么申报
  • 没有报关单货物违法吗
  • 会计工作的基本认识
  • 购买的固定资产什么时候折旧
  • 劳务外包要通过应付职工薪酬吗
  • 车辆购置税的会计处理
  • 已经给员工交了社保能退吗
  • 收到3%的增值税专用发票可以抵扣吗
  • 劳务派遣可以开专票吗
  • 事业单位没有经过公示的内部文件不生效 出处
  • 增值税税负率计算器
  • 固定资产进项税的账务处理
  • 收藏!广告制作税收分类编码总结
  • 股东划入资产会计处理
  • 在建工程转固定资产后如何计提折旧
  • 学生兼职需要交什么税
  • 持续经营净利润是什么意思
  • 固定资产验收单图片
  • 产品质量认证的基本条件有哪些
  • 集体福利的增值税怎么算
  • 利润表中财务费用可以为负数吗
  • 耕地建厂房补偿方法
  • 内存频率调整教程图解
  • 取得进项税发票分录
  • 普通增值税发票左上角的二维码可以扫出来吗?
  • 认缴出资额和实缴出资额的时间
  • 公司购买写字楼怎么入账
  • 企业公益性捐赠扣除限额
  • 民办非企业单位是什么企业类型
  • 收入成本科目
  • 哪些费用可以用医保
  • 划入账户金额
  • php图片代码
  • 公章的法律效力范围
  • 补税分录
  • 购买的商品作为赠品怎么入账
  • python监控模块
  • 对方代垫包装费怎么做分录
  • 视同内销补税的财务处理
  • 主营业务税金及附加和税金及附加的区别
  • 变更法人代表是重大事项吗
  • 附加税税率是指
  • 如果发票和实际不一样
  • 房屋租赁怎么干
  • 固定资产账实不符违反的规定
  • 劳动局仲裁花钱吗
  • 出口发票上的汇票是什么
  • 培训机构账务处理
  • 资产负债表中的货币资金怎么算
  • win8.1怎么升级到win11
  • win10自带的音乐播放器groove如何设置
  • redhat操作系统安装步骤
  • 虚拟机基本知识
  • ktpcntr.exe
  • win10怎么获取
  • xp系统怎么取消用户登录
  • 使用标准用户帐号的方法
  • linux登录提示
  • winxp内存不能为read
  • Win7旗舰版64位如何关闭电脑触摸屏功能的方法
  • 电脑因故障出现问题而启动
  • Win10红石版Edge浏览器新扩展功能:关灯(附扩展程序使用)
  • win7系统宽带连接651
  • 两台没联网的电脑怎么创建局域网
  • Extjs中DisplayField的日期或者数字格式化扩展
  • bat脚本编写教程菜鸟
  • Node.js中的全局变量有哪些
  • js中的原型和原型链
  • 用jquery
  • node.js模块
  • ugui scrollview
  • js动态调用方法
  • jquery给表单赋值
  • 为什么电子发票没有监制章
  • 怎么查税务专管员是谁的名字
  • 网上缴费后如何复电
  • 古代税收和现代税收
  • 中国十大经济农村
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设