当前位置: 首页 > news >正文

ZED相机获取图像python


import pyzed.sl as sl
import cv2
import numpy as np
import osclass CameraZed2:def __init__(self,resolution=None,fps=30,depthMode = None):self.zed = sl.Camera()self.input_type = sl.InputType()self.init_params = sl.InitParameters(input_t=self.input_type)# 设置分辨率if resolution == "2K":self.init_params.camera_resolution = sl.RESOLUTION.HD2Kelif resolution == "1080":self.init_params.camera_resolution = sl.RESOLUTION.HD1080else:  # 默认self.init_params.camera_resolution = sl.RESOLUTION.HD720self.init_params.camera_fps = fps  # 设置帧率# 设置获取深度信息的模式if depthMode == "PERFORMANCE":self.init_params.depth_mode = sl.DEPTH_MODE.PERFORMANCEelif depthMode == "QUALITY":self.init_params.depth_mode = sl.DEPTH_MODE.QUALITYelse:self.init_params.depth_mode = sl.DEPTH_MODE.ULTRAself.init_params.coordinate_units = sl.UNIT.MILLIMETER  # 单位毫米# 打开相机err = self.zed.open(self.init_params)if err != sl.ERROR_CODE.SUCCESS:print(repr(err))self.zed.close()exit(1)self.runtime = sl.RuntimeParameters()self.runtime.sensing_mode = sl.SENSING_MODE.STANDARDself.savepath = ''  # 标定图像保存的路径def grab_imgs(self):  # 捕获左右图像用于相机标定(文件夹自动创建)img_l = sl.Mat()img_r = sl.Mat()num = 0# 自动创建保存文件夹(分别存放左图和右图)import timename = time.strftime("%Y-%m-%d-%H-%M", time.localtime())self.savepath_L = './images/%s/L' % nameself.savepath_R = './images/%s/R' % nameos.makedirs(self.savepath_L,exist_ok=True)os.makedirs(self.savepath_R,exist_ok=True)while True:if self.zed.grab(self.runtime) == sl.ERROR_CODE.SUCCESS:self.zed.retrieve_image(img_l,sl.VIEW.LEFT)self.img_l = img_l.get_data()self.zed.retrieve_image(img_r,sl.VIEW.RIGHT)self.img_r = img_r.get_data()view = np.concatenate((self.img_l,self.img_r),axis=1)cv2.imshow('View',cv2.resize(view,(1920,540)))key = cv2.waitKey(1)if key & 0xFF == ord('s'):  # 按S同时保存左右图像savePath_L = os.path.join(self.savepath_L, "L{:0>3d}.png".format(num))print(savePath_L)cv2.imwrite(savePath_L, self.img_l)savePath_R = os.path.join(self.savepath_R, "R{:0>3d}.png".format(num))cv2.imwrite(savePath_R, self.img_r)num +=1if key & 0xFF == 27:  # 按esc退出视图窗口breakif __name__ == "__main__":cam = CameraZed2(resolution='1080',fps=30)cam.grab_imgs()  # 获取标定图像(左、右图)

注:在根目录中创建一个images的文件夹

http://www.lryc.cn/news/155285.html

相关文章:

  • Oracle系列之--Profile
  • 学习Bootstrap 5的第四天
  • 喜报 | 再度中标南网项目!AR 开启电力远程运维新智慧
  • 3.使用IDE的优点
  • ShopXO商城系统文件上传0Day代审历程
  • 【java】【项目实战】[外卖十二]【完结】项目优化(前后端分离开发)
  • 解决uniapp下拉框 内容被覆盖的问题
  • 论文解读 | KPConv——点云上的可形变卷积网络
  • STM32 物联网 4G CAT1 SIMCOM A7680C 源码
  • ETLCloud制造业轻量级数据中台解决方案
  • 解决外接显示器后Edge浏览器地址栏等变得很大的问题
  • k8s 启动和删除pod
  • Jenkins详解(三)
  • 【真题解析】系统集成项目管理工程师 2023 年上半年真题卷(综合知识)
  • 开始MySQL之路——MySQL存储引擎概念
  • ant-design 设置Form.Item中的input框的值的方法
  • CS420 课程笔记 P6 - 游戏逆向中的虚拟内存
  • 公信力不是儿戏:政府与非营利组织如何利用爱校对提升信息质量
  • Linux内核源码分析 (B.1)内核内存布局和堆管理
  • Python---函数
  • Myvatis关联关系映射与表对象之间的关系
  • 算法通关村第十四关:黄金挑战-数据流的中位数
  • 【2023集创赛】国家集创中心杯三等奖:不对称轻失配运算放大器
  • 手写Mybatis:第18章-一级缓存
  • 哈夫曼编码实现文件的压缩和解压
  • 解决六大痛点促进企业更好使用生成式AI,亚马逊云科技顾凡采访分享可用方案
  • Qt 定时器放在线程中执行,支持随时开始和停止定时器。
  • java 过滤器 接口(API)验证入参,验签(sign) Demo
  • 独家!微信正在灰测一款全新消金产品
  • 阿秀C++笔记-学习记录