A universal SDK for synchronized dual-eye cameras compliant with the UVC protocol
Project description
unireo 模块使用简述(Python实现)
快速开始
开发环境基础配置
确保您的Python版本高于Python 3.6,且已安装最新版本的 pip 包管理器,并完成 OpenCV、Numpy 和 YAML 模块的安装。若仍未安装上述模块,请在终端中执行以下命令:
# bash
pip install numpy==1.23.0
pip install opencv-python==4.9.0
pip install pyyaml==5.3.1
请注意:若您曾经通过编译 OpenCV 的 C++库生成 OpenCV 的 Python绑定,请不要在此处使用pip install opencv-python==4.9.0.80,因为这样会使得通过 pip 安装的 OpenCV 覆盖原本使用编译生成的 OpenCV 的Python绑定。
安装 unireo
在终端中,使用以下命令安装 unireo 模块:
# bash
pip install unireo
完成安装后,在终端中运行python或python3命令,运行以下Python语句以检验 unireo 是否已正确安装:
# Python
import unireo
print(unireo.__version__)
打开您的双目相机并拍摄图像
使用以下代码示例即可使用 unireo 对双目相机的画面进行拍摄:
# Python
# 导入 unireo 模块中有关相机信息的子模块
import unireo.cam_info as cam_info
# 导入 unireo 模块中与错误码与异常处理相关的子模块
import unireo.err_proc as err_proc
# 导入 OpenCV 模块
import cv2
# 设定相机启动参数 params,并将其传给 Camera 类的构造函数,最后打开相机
params = cam_info.InitParameters()
camera = cam_info.Camera(params)
camera.open()
while True:
# 使用 Camera 类的 grab_frame() 方法来抓取一帧图像,该函数会返回一个错误码
# 当错误码并非 GRAB_IMAGE_SUCCESS 时,即未成功抓取图像时,说明相机打开错误,即退出循环
if camera.grab_frame() != err_proc.ErrCode.GRAB_IMAGE_SUCCESS:
print("Failed to Read Image from Camera")
break
# 使用 Camera 类的 get_img() 方法来读出抓取到的图像
# LEFT_IMAGE 和 RIGHT_IMAGE 分别代表左、右图像,这两个变量 Flag 都在 cam_info 的 GrabbedImageType 类中定义
left = camera.get_img(cam_info.GrabbedImageType.LEFT_IMAGE)
right = camera.get_img(cam_info.GrabbedImageType.RIGHT_IMAGE)
# 使用 OpenCV 显示读出画面
cv2.imshow('Left', left)
cv2.imshow('Right', right)
# 使用 Camera 类的 get_stereo_img_saved() 方法来读出抓取到的图像
# 该函数需要传入四个参数,分别是:
# 1. 图像要保存的格式,如 JPG 或 PNG(推荐)格式
# 2. 双目相机左目画面的保存路径,如'/home/left',前提是该文件夹已经存在,否则无法保存
# 3. 双目相机右目画面的保存路径,如'/home/right',前提是该文件夹已经存在,否则无法保存
# 4. 需要保存画面时按下的键盘按键,如s键
camera.get_stereo_img_saved(cam_info.SavedImageFormat.IMG_FMT_PNG, '/home/left', '/home/right', 's')
# 若退出主循环,需要关闭所有窗口并且释放相机占用资源
cv2.destroyAllWindows()
camera.release()
深入使用
unireo 开发文档
访问 unireo 开发文档 以获取更详细的使用说明以及代码示例,包括双目相机的标定以及内、外参的获取,以及视差图和深度图的计算与生成等功能。
版权所有
Copyright (C) 2017-2025 Anawaert Studio
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file unireo-0.1.2.tar.gz.
File metadata
- Download URL: unireo-0.1.2.tar.gz
- Upload date:
- Size: 19.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
73e93b750566dbf0959cfaffc48c987cff7a461d70c562401fd64ec90d0663d6
|
|
| MD5 |
d93e8ee30aa2c747bb7cb42143a4c3ce
|
|
| BLAKE2b-256 |
289e8071d14d73926de6fa76f410aee49904f76dfe9cd9ca8fb5f560d53cb8e2
|
File details
Details for the file unireo-0.1.2-py3-none-any.whl.
File metadata
- Download URL: unireo-0.1.2-py3-none-any.whl
- Upload date:
- Size: 23.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
907a3d2f6c936c62868b99ae8b6dbafb58c061b7358331ad1c63383bb8fb0649
|
|
| MD5 |
6f8187a00117ef5fc4072558f3119871
|
|
| BLAKE2b-256 |
8e666538290ee6b203f8faeca213dd7032175c659c705543ffa0ba62834b13fb
|