ZED相机获取图像python

这篇具有很好参考价值的文章主要介绍了ZED相机获取图像python。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


import pyzed.sl as sl
import cv2
import numpy as np
import os

class 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.HD2K
        elif resolution == "1080":
            self.init_params.camera_resolution = sl.RESOLUTION.HD1080
        else:  # 默认
            self.init_params.camera_resolution = sl.RESOLUTION.HD720
        self.init_params.camera_fps = fps  # 设置帧率
        # 设置获取深度信息的模式
        if depthMode == "PERFORMANCE":
            self.init_params.depth_mode = sl.DEPTH_MODE.PERFORMANCE
        elif depthMode == "QUALITY":
            self.init_params.depth_mode = sl.DEPTH_MODE.QUALITY
        else:
            self.init_params.depth_mode = sl.DEPTH_MODE.ULTRA
        self.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.STANDARD
        self.savepath = ''  # 标定图像保存的路径

    def grab_imgs(self):  # 捕获左右图像用于相机标定(文件夹自动创建)
        img_l = sl.Mat()
        img_r = sl.Mat()
        num = 0
        # 自动创建保存文件夹(分别存放左图和右图)
        import time
        name = time.strftime("%Y-%m-%d-%H-%M", time.localtime())
        self.savepath_L = './images/%s/L' % name
        self.savepath_R = './images/%s/R' % name
        os.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 +=1
                if key & 0xFF == 27:  # 按esc退出视图窗口
                    break

if __name__ == "__main__":
    cam = CameraZed2(resolution='1080',fps=30)
    cam.grab_imgs()  # 获取标定图像(左、右图)

注:在根目录中创建一个images的文件夹文章来源地址https://www.toymoban.com/news/detail-706969.html

到了这里,关于ZED相机获取图像python的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 小米12s ultra,索尼xperia1 iv,数码相机 拍照对比

    首先说明所有的测试结果和拍摄数据我放到百度网盘了(地址在结尾) 我一直想知道现在的手机和相机差距有多大,到底差在哪儿? 先说结论: 1.1英寸的手机cmos(2022年) 6年前(2016)的入门款相机(m43画幅) 2.手机 不能换镜头,只能在特定的拍摄距离才能发挥出全部的实力.数码变焦画质损

    2024年02月09日
    浏览(83)
  • yolov8直接调用zed相机实现三维测距(python)

    相关链接 此项目直接调用zed相机实现三维测距,无需标定,相关内容如下: 1.yolov5直接调用zed相机实现三维测距(python) 2. yolov4直接调用zed相机实现三维测距 3. Windows+YOLOV8环境配置 4.具体实现效果已在哔哩哔哩发布,点击此链接跳转 本篇博文工程源码下载(麻烦github给个星

    2024年04月11日
    浏览(41)
  • 机械臂手眼标定ZED相机——眼在手外python、matlab

    目录 1.眼在手外原理 2.附上眼在手外求得手眼矩阵的python代码 3.眼在手外标定步骤 1)打印棋盘格 2)得到hand数据 3)得到camera数据 4.运行python得到手眼矩阵   眼在手外所求的手眼矩阵是基坐标到相机的转换矩阵 其中:         hand为基坐标系下抓夹的位姿,一般从示教器

    2024年02月11日
    浏览(31)
  • ZED相机使用记录(一):利用ZED SDK使用python完成局域网内的远程视频(视频流)传输

    ** 本文主要介绍ZED2相机以及具有的功能,ZED2相机(这里使用ZED2相机,主要是因为视频流传输功能目前只有ZED2、ZED mini等新版本相机才有的功能)** 本文所使用的环境: python:3.8 CUDA:10.2 需要安装的python库:pyzed(安装好ZED SDK后安装)、opencv(cv2)、sys 接收端(服务端):测试过的有

    2024年02月13日
    浏览(38)
  • python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)

    今天的低价单孔摄像机(照相机)会给图像带来很多畸变。畸变主要有两 种:径向畸变和切想畸变。如下图所示,用红色直线将棋盘的两个边标注出来, 但是你会发现棋盘的边界并不和红线重合。所有我们认为应该是直线的也都凸 出来了。 在 3D 相关应用中,必须要先校正这些畸变

    2024年02月06日
    浏览(49)
  • ZED相机快速使用指南

    ZED SDK 3.8 - Download | Stereolabs GitHub - stereolabs/zed-ros-wrapper: ROS wrapper for the ZED SDK 其他教程:ZED2相机SDK安装使用及ROS下使用_可即的博客-CSDN博客 Get Started with ZED | Stereolabs 在/usr/local/zed/tools/下的./ZED_Calibration根据 教程可以实现标定校准 在/usr/local/zed/setting下有校准后的参数 cat一下

    2024年02月09日
    浏览(40)
  • zed2i相机内参标定

    参考: https://blog.csdn.net/yanpeng_love/article/details/107166922 https://blog.csdn.net/weixin_41954990/article/details/127928852 参考以上连接先安装 kalibr 。 注意: python包装不上,换成:pip install 出现pyx找不到的错误:sudo apt-get install python3-pyx 1. 生成标定板 可以自己定制特定尺寸的标定板: 其中,

    2024年02月04日
    浏览(90)
  • 【ZED&SLAM】Ubuntu18.04系统ZED 2i双目相机SDK安装、联合标定、SLAM测试

    笔记本电脑i5-8300H、GTX 1060、32G RAM 后续一些工作转移到了PC上:i7-12700 因为后面要测试Vins-Fusion和ORB-SLAM3,所以推荐安装 Ubuntu 18.04(或者Ubuntu 20.04) + ROS 1 (不建议用比Ubuntu18更低的版本) ROS一键安装命令: ZED 2i:双目相机配有9轴IMU 此前电脑已经配置好:Ubuntu 18.04,ROS 1,

    2024年01月18日
    浏览(49)
  • windows离线安装+Unity使用ZED2深度相机

    zed官网、cuda官网及相关下载建议全程梯子 进入官网,根据系统环境、Cuda版本进行选择,官网sdk链接 博主选择cuda11.x windows 下载 进入NVIDIA官网,选择cuda版本,官网地址 选择exe(local)以支持离线安装,下载exe安装包 进入Cudnn下载官网(需要注册NVIDIA账号并登录),选择符合

    2024年02月03日
    浏览(33)
  • 使用Kalibr标定相机和IMU(ZED+px4)外参

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 本文仅使用kalibr中cam-imu的联合标定,关于camera内参默认已经知道了。主要会总结一些标定上的小经验,有不对的地方,希望网友可以指出。文章最后将使用标定的cam-imu外参在VINS-Fusion中进行验证 Kalibr是

    2023年04月19日
    浏览(74)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包