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

  • 用心去做微信营销,有价值内容做微信营销产生的实效(用心去做微信营销)

    用心去做微信营销,有价值内容做微信营销产生的实效(用心去做微信营销)

  • 手机咪咕音乐均衡器在哪(手机咪咕音乐均衡器下载)

    手机咪咕音乐均衡器在哪(手机咪咕音乐均衡器下载)

  • 华为m5怎样隐藏应用(华为m5怎样隐藏应用软件)

    华为m5怎样隐藏应用(华为m5怎样隐藏应用软件)

  • 快手直播黑屏怎么解决(快手直播黑屏怎么回事)

    快手直播黑屏怎么解决(快手直播黑屏怎么回事)

  • tcp/ip参考模型分为哪几层(tcpip参考模型分为哪七层)

    tcp/ip参考模型分为哪几层(tcpip参考模型分为哪七层)

  • 微信朋友圈怎么发视频(微信朋友圈怎么设置三天显示)

    微信朋友圈怎么发视频(微信朋友圈怎么设置三天显示)

  • 适应边框打印是什么意思(适应边框打印是不是无边框是什么意思)

    适应边框打印是什么意思(适应边框打印是不是无边框是什么意思)

  • 按什么键可以复制整个屏幕(按什么键可以复制活动窗口)

    按什么键可以复制整个屏幕(按什么键可以复制活动窗口)

  • 手机如何剪辑视频不要的部分(手机如何剪辑视频中不好的片段)

    手机如何剪辑视频不要的部分(手机如何剪辑视频中不好的片段)

  • 笔记本硬盘是固态还是机械(笔记本硬盘是固态还是机械怎么区分)

    笔记本硬盘是固态还是机械(笔记本硬盘是固态还是机械怎么区分)

  • 华为nova7有nfc功能吗(华为nova7有nfc功能没有)

    华为nova7有nfc功能吗(华为nova7有nfc功能没有)

  • oppo闪充怎么充电慢了(oppo 闪充)

    oppo闪充怎么充电慢了(oppo 闪充)

  • soul性别换不回来了(soul性别改不回来)

    soul性别换不回来了(soul性别改不回来)

  • 华为与苹果手机的区别(华为与苹果手机照片颜色不一样)

    华为与苹果手机的区别(华为与苹果手机照片颜色不一样)

  • vivou3和u3x区别(vivo u3x和vivo u3哪个好)

    vivou3和u3x区别(vivo u3x和vivo u3哪个好)

  • ftp站点是什么(ftp 站点)

    ftp站点是什么(ftp 站点)

  • 天猫精灵要一直通电吗(天猫精灵要一直连着蓝牙吗)

    天猫精灵要一直通电吗(天猫精灵要一直连着蓝牙吗)

  • 华为tas一an00是什么型号(华为tah an00)

    华为tas一an00是什么型号(华为tah an00)

  • 淘宝视频怎么保存(淘宝视频怎么保存手机)

    淘宝视频怎么保存(淘宝视频怎么保存手机)

  • 苹果x访问限制在哪里(苹果x访问限制怎么找)

    苹果x访问限制在哪里(苹果x访问限制怎么找)

  • 腾讯地图怎么添加商户(腾讯地图怎么添加商家位置)

    腾讯地图怎么添加商户(腾讯地图怎么添加商家位置)

  • ios13长截屏怎样使用(ios13截长图)

    ios13长截屏怎样使用(ios13截长图)

  • 荣耀20pro耳机怎么用(荣耀20pro耳机设置)

    荣耀20pro耳机怎么用(荣耀20pro耳机设置)

  • 华为p30pro防水嘛(华为p30pro防水防到什么程度)

    华为p30pro防水嘛(华为p30pro防水防到什么程度)

  • 优酷如何投屏到电视(优酷如何投屏到电视机上)

    优酷如何投屏到电视(优酷如何投屏到电视机上)

  • 芬迪湾低潮时的洞穴及海岸地貌 ,加拿大新不伦瑞克 (© Jamie Roach/Shutterstock)(芬迪flow)

    芬迪湾低潮时的洞穴及海岸地貌 ,加拿大新不伦瑞克 (© Jamie Roach/Shutterstock)(芬迪flow)

  • 预提所得税的计税依据
  • 个体经营部可以开增值税专用发票吗
  • 营业外支出为负数怎么处理
  • 佣金收入交什么税费
  • 专门借款资本化时点
  • 备用金与其他应收款的记账规则
  • 新企业会计准则什么时候实施的
  • 通过网络手段获取用户行为的方法
  • 财产保险合同印花税计税依据
  • 结转本期各项收入
  • 退休回聘政策与程序
  • 工地工资是人走账清吗
  • 发出存货的计价方法对企业财务状况和经营成果有何影响
  • 实收资本未到位可以注销吗?
  • 应交税费明细分类账图片
  • 工资中代扣水电费是什么意思
  • 营改增后建筑施工税率调整变化
  • 印花税 企业
  • 公司食堂买菜入什么科目
  • 资本化和费用化的条件
  • 质押贷款属于什么贷款
  • 水利建设基金按什么基数计算
  • 开票软件维护费计入什么科目
  • 个体户在银行开户
  • 退票费报销凭证可以在机子上打印吗
  • 长期待摊费用原值怎么填
  • 1697508577
  • 支付固定资产运杂费计入什么科目
  • 缴纳个人所得税会计分录
  • 用苹果macbook pro怎样
  • 个人汇算清缴已经做了公司怎么改申报
  • 独立费计算
  • 外购的形式
  • php数据库分页是怎么实现的
  • Mysql的GROUP_CONCAT()函数使用方法
  • PHP:preg_match_all()的用法_PCRE正则函数
  • 筹建期无形资产土地要摊销吗
  • 国企收到财政补贴
  • 应付现金股利通过
  • php artisan key:generate
  • php框架yii
  • php swoole框架
  • php计算给定日期的时间
  • 公司转让账务处理方法
  • 【JavaScript】【5】定时器(包含回调函数与Promise)
  • 换货和退货有什么区别
  • 计提坏账准备的前提条件
  • 建筑业总包增值税
  • 公司帐户转到法人私卡备用金行吗
  • 收到上市公司分红企业所得税减半征收的情景
  • 小规模的企业所得税怎么计算
  • 企业应纳税所得额的计算应遵循权责发生制原则
  • excel内账报表
  • 火车票报销抵扣比例是多少
  • 做账是指做什么
  • 出口货物没有进项发票用什么平台申报
  • 服务业如何确定收入
  • 以股权入资该怎么办
  • 公司临时工的车可以买吗
  • 进口关税的会计处理方法
  • 个人应如何进行社会实践
  • 确认收入后销售怎么算
  • 手机开个人发票怎么开
  • 无票销售纳税后怎么处理
  • 哪些发票可以抵减
  • 工业企业外购材料采购成本包括
  • winxp系统如何设置禁用磁盘检测功能
  • win10硬盘安装器安装教程
  • linux如何挂载iso文件
  • mac u 盘启动
  • win10怎么办
  • rcapi.exe - rcapi是什么进程 有什么用
  • remind32.exe - remind32是什么进程 有什么用
  • Win10桌面版红石预览版14295更新(修复)、已知问题及解决方案汇总
  • shader cull
  • 趣谈 linux 操作系统
  • python中的面向对象
  • python 元类的作用
  • js模拟点击事件onclick
  • 收到税务局发的多条宣传短信
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设