首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

入门Python开发ZED双目相机-(持续更新中ing)

  • 23-10-06 07:42
  • 2312
  • 6794
blog.csdn.net

ZED双目立体相机

  • (一)ZED概述
  • (二)安装ZED SDK与cuda
    • 1.windows下安装ZED SDK、cuda与pyzed
    • 2.ubuntu16.04、18.04下安装ZED SDK、cuda与pyzed
  • (三)官方示例如何跑通
  • (四)跟我学ZED-python
    • 1.读取img
    • 2.读取depth

(一)ZED概述

待师弟填坑~

(二)安装ZED SDK与cuda

1.windows下安装ZED SDK、cuda与pyzed

待师弟填坑~

2.ubuntu16.04、18.04下安装ZED SDK、cuda与pyzed

待师弟填坑~
1.安装cuda(待师弟填坑)
参考ubuntu-cuda安装教程进行安装即可

2.安装SDK
首先,进入ZED官网 ,点击SDK DOWNLOAD进行选择下载。
在这里插入图片描述
然后,根据本机cuda版本以及系统版本进行匹配下载
在这里插入图片描述
以cuda10.2,Ubuntu18.04,sdk3.4.2为例,进行下载
在这里插入图片描述
最后,正式安装下载好的sdk,即.run文件

 1.进入到.run文件所在目录下打开terminal
 cd path/to/download/folder
 
 2.使用 chmod +x 给个权限
 chmod +x ZED_SDK_Ubuntu18_cuda10.2_v3.4.2.run
 
 3.安装
 ./ZED_SDK_Ubuntu18_cuda10.2_v3.4.2.run
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

3.安装python-API pyzed
先进入SDK目录下,然后打开terminal输入 python3 get_python_api.py即可下载pyzed…whl文件
在这里插入图片描述
安装API

pip install pyzed......whl 
即可完成安装
  • 1
  • 2

大功告成~
如有问题,欢迎评论区交流

(三)官方示例如何跑通

待师弟填坑~

(四)跟我学ZED-python

1.读取img

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

zed = sl.Camera()           # Create a ZED camera object
input_type = sl.InputType() # Set configuration parameters
init = sl.InitParameters(input_t=input_type) # Init Parameters
init.camera_resolution = sl.RESOLUTION.HD2K  # set resolution
init.coordinate_units = sl.UNIT.MILLIMETER
zed.open(init)  # Open the camera

image_size = zed.get_camera_information().camera_resolution  # retrieve half-resolution images
image_zed = sl.Mat(image_size.width, image_size.height, sl.MAT_TYPE.U8_C4)

while True:
    zed.grab()
    image_sl_left = sl.Mat()  # left_img
    zed.retrieve_image(image_sl_left, sl.VIEW.LEFT)
    image_cv_left = image_sl_left.get_data()
    image_sl_right = sl.Mat()  # right_img
    zed.retrieve_image(image_sl_right, sl.VIEW.RIGHT)
    image_cv_right = image_sl_right.get_data()
    
    ################# BGRA 转成 BGR #################
    image_cv_left = cv2.cvtColor(image_cv_left, 1)
    image_cv_right = cv2.cvtColor(image_cv_right, 1)
    ################# BGRA 转成 BGR #################

    img_sbs = np.concatenate((image_cv_left, image_cv_right), axis=1)
    img = cv2.resize(img_sbs, (int(image_size.width/1.2), int(image_size.height/2)))
    # print(111111,img)
    
    cv2.imshow("ZED-img", img)
    cv2.waitKey(10)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

在这里插入图片描述

2.读取depth

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

zed = sl.Camera()           # Create a ZED camera object
input_type = sl.InputType() # Set configuration parameters

init = sl.InitParameters(input_t=input_type)  # 初始化
init.camera_resolution = sl.RESOLUTION.HD1080 # 相机分辨率(默认-HD720)
init.depth_mode = sl.DEPTH_MODE.ULTRA         # 深度模式  (默认-PERFORMANCE)
init.coordinate_units = sl.UNIT.MILLIMETER    # 毫米级    (默认-MILLIMETER)

zed.open(init)  # Open the camera

image_size = zed.get_camera_information().camera_resolution
image_size.width = image_size.width / 2   # retrieve half-resolution images
image_size.height = image_size.height / 2 # retrieve half-resolution images
image_zed = sl.Mat(image_size.width, image_size.height, sl.MAT_TYPE.U8_C4)
depth_image_zed = sl.Mat(image_size.width, image_size.height, sl.MAT_TYPE.U8_C4)
key = ''
while key != 113:
    zed.grab()
    zed.retrieve_image(image_zed, sl.VIEW.LEFT, sl.MEM.CPU, image_size)       # Retrieve the "left image, depth image" in the half-resolution
    zed.retrieve_image(depth_image_zed, sl.VIEW.DEPTH, sl.MEM.CPU, image_size)

    image_ocv = image_zed.get_data()
    print(image_ocv)
    depth_image_ocv = depth_image_zed.get_data()

    img = np.hstack([image_ocv, depth_image_ocv])
    img = cv2.resize(img, (800, 400))
    cv2.imshow("ZED-depth", img)
    key = cv2.waitKey(5)
cv2.destroyAllWindows()
zed.close()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35

在这里插入图片描述

ZED双目立体相机

  • (一)ZED概述
  • (二)安装ZED SDK与cuda
    • 1.windows下安装ZED SDK、cuda与pyzed
    • 2.ubuntu16.04、18.04下安装ZED SDK、cuda与pyzed
  • (三)官方示例如何跑通
  • (四)跟我学ZED-python
    • 1.读取img
    • 2.读取depth

(一)ZED概述

待师弟填坑~

(二)安装ZED SDK与cuda

1.windows下安装ZED SDK、cuda与pyzed

待师弟填坑~

2.ubuntu16.04、18.04下安装ZED SDK、cuda与pyzed

待师弟填坑~
1.安装cuda(待师弟填坑)
参考ubuntu-cuda安装教程进行安装即可

2.安装SDK
首先,进入ZED官网 ,点击SDK DOWNLOAD进行选择下载。
在这里插入图片描述
然后,根据本机cuda版本以及系统版本进行匹配下载
在这里插入图片描述
以cuda10.2,Ubuntu18.04,sdk3.4.2为例,进行下载
在这里插入图片描述
最后,正式安装下载好的sdk,即.run文件

 1.进入到.run文件所在目录下打开terminal
 cd path/to/download/folder
 
 2.使用 chmod +x 给个权限
 chmod +x ZED_SDK_Ubuntu18_cuda10.2_v3.4.2.run
 
 3.安装
 ./ZED_SDK_Ubuntu18_cuda10.2_v3.4.2.run
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

3.安装python-API pyzed
先进入SDK目录下,然后打开terminal输入 python3 get_python_api.py即可下载pyzed…whl文件
在这里插入图片描述
安装API

pip install pyzed......whl 
即可完成安装
  • 1
  • 2

大功告成~
如有问题,欢迎评论区交流

(三)官方示例如何跑通

待师弟填坑~

(四)跟我学ZED-python

1.读取img

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

zed = sl.Camera()           # Create a ZED camera object
input_type = sl.InputType() # Set configuration parameters
init = sl.InitParameters(input_t=input_type) # Init Parameters
init.camera_resolution = sl.RESOLUTION.HD2K  # set resolution
init.coordinate_units = sl.UNIT.MILLIMETER
zed.open(init)  # Open the camera

image_size = zed.get_camera_information().camera_resolution  # retrieve half-resolution images
image_zed = sl.Mat(image_size.width, image_size.height, sl.MAT_TYPE.U8_C4)

while True:
    zed.grab()
    image_sl_left = sl.Mat()  # left_img
    zed.retrieve_image(image_sl_left, sl.VIEW.LEFT)
    image_cv_left = image_sl_left.get_data()
    image_sl_right = sl.Mat()  # right_img
    zed.retrieve_image(image_sl_right, sl.VIEW.RIGHT)
    image_cv_right = image_sl_right.get_data()
    
    ################# BGRA 转成 BGR #################
    image_cv_left = cv2.cvtColor(image_cv_left, 1)
    image_cv_right = cv2.cvtColor(image_cv_right, 1)
    ################# BGRA 转成 BGR #################

    img_sbs = np.concatenate((image_cv_left, image_cv_right), axis=1)
    img = cv2.resize(img_sbs, (int(image_size.width/1.2), int(image_size.height/2)))
    # print(111111,img)
    
    cv2.imshow("ZED-img", img)
    cv2.waitKey(10)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

在这里插入图片描述

2.读取depth

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

zed = sl.Camera()           # Create a ZED camera object
input_type = sl.InputType() # Set configuration parameters

init = sl.InitParameters(input_t=input_type)  # 初始化
init.camera_resolution = sl.RESOLUTION.HD1080 # 相机分辨率(默认-HD720)
init.depth_mode = sl.DEPTH_MODE.ULTRA         # 深度模式  (默认-PERFORMANCE)
init.coordinate_units = sl.UNIT.MILLIMETER    # 毫米级    (默认-MILLIMETER)

zed.open(init)  # Open the camera

image_size = zed.get_camera_information().camera_resolution
image_size.width = image_size.width / 2   # retrieve half-resolution images
image_size.height = image_size.height / 2 # retrieve half-resolution images
image_zed = sl.Mat(image_size.width, image_size.height, sl.MAT_TYPE.U8_C4)
depth_image_zed = sl.Mat(image_size.width, image_size.height, sl.MAT_TYPE.U8_C4)
key = ''
while key != 113:
    zed.grab()
    zed.retrieve_image(image_zed, sl.VIEW.LEFT, sl.MEM.CPU, image_size)       # Retrieve the "left image, depth image" in the half-resolution
    zed.retrieve_image(depth_image_zed, sl.VIEW.DEPTH, sl.MEM.CPU, image_size)

    image_ocv = image_zed.get_data()
    print(image_ocv)
    depth_image_ocv = depth_image_zed.get_data()

    img = np.hstack([image_ocv, depth_image_ocv])
    img = cv2.resize(img, (800, 400))
    cv2.imshow("ZED-depth", img)
    key = cv2.waitKey(5)
cv2.destroyAllWindows()
zed.close()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35

在这里插入图片描述

注:本文转载自blog.csdn.net的Albot-CV的文章"https://blog.csdn.net/weixin_45148084/article/details/115006872"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2491) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top