Jetson TX2入门之ZED双目摄像头

本文介绍如何在JetsonTX2上安装并使用ZED双目摄像头,包括环境准备、安装步骤及测试方法。ZED摄像头具备400万像素双摄像头,能捕捉2K 3D视频,支持高帧率和宽视野。

Jetson TX2入门之ZED双目摄像头


简介

这里的ZED不是英雄联盟的英雄影流之主,而是stereolabs研发的一款双目摄像头,这款摄像头从镜头到传感器充满了尖端技术,将深度和运动跟踪提升到一个全新的水平。

ZED 特点

  1. 双400万像素摄像头:能够捕捉令人惊叹的2K 3D视频,具有同类最佳的低光灵敏度,可在最具挑战性的环境中运行。

  2. 高帧率:ZED是世界上最快的深度相机。 以30FPS或WFGA以100FPS拍摄1080p高清视频,获得清晰锐利的图像。

  3. 宽视野:凭借其16:9原生传感器和超锐利6元素全玻璃镜头,可以捕获110°广角视频和深度。

  4. 最最最关键的是能够在多个环境下运行。现在就Jetson TX2中试试吧。

更多的介绍请访问ZED官网

步骤

1. 环境

Jetson TX2 需要刷个机,刷完之后就有很多必要的工具了,这里ZED需要cuda 9的支持。要刷机可以看看我的这篇文章:

Jetson TX2 开箱配置+刷机+跑demo(常见坑总结)

如何查看自己的Jetson TX2 里cuda的版本呢?

nvcc -V

2. 安装

先去官网下载最新的ZED SDK,其实在购买这款摄像头时,附带了一个u盘里面也有许多系统的sdk,但是如果要用最新的还是去官网下载,链接如下:
https://download.stereolabs.com/zedsdk/2.4/tegrax2

下载完毕后,进入文件所在文件夹,执行以下命令进行安装:

chmod +x ZED_SDK_Linux_JTX2_JP3.2_V2.4.1.run
./ZED_SDK_Linux_JTX2_JP3.2_V2.4.1.run

安装过程中需要几个“Y”。基本就没什么问题了。

3.测试

进入安装文件所在目录

cd /usr/local/zed/tools/

ZED Explorer模式

./"ZED Explorer"

ZED Depth Viewer模式

./"ZED Depth Viewer"

最后

最后就可以用ZED愉快的玩耍了。希望对大家有所帮助!:-)

所给引用内容未提及在Jetson TX2中使用板载摄像头实现茄子大头贴的方法。不过可按以下通用思路来实现: ### 环境准备 确保Jetson TX2安装合适的JetPack版本(如引用提到的4.6)和OpenCV包(如默认的4.1),并且能正常开启板载摄像头。开启板载摄像头可参考相关步骤,其pipeline规则为 "nvarguscamerasrc ! video/x-raw(memory:NVMM), width=(int)1280, height=(int)720, format=(string)NV12, framerate=(fraction)120/1 ! nvvidconv flip-method=2 ! video/x-raw, width=(int)1280, height=(int)720, format=(string)BGRx ! videoconvert ! appsink" [^2][^3]。 ### 实现步骤 1. **图像捕获**:使用板载摄像头捕获图像。以下是使用OpenCV和上述pipeline规则捕获图像的示例代码: ```python import cv2 # 定义pipeline pipeline = "nvarguscamerasrc ! video/x-raw(memory:NVMM), width=(int)1280, height=(int)720, format=(string)NV12, framerate=(fraction)120/1 ! nvvidconv flip-method=2 ! video/x-raw, width=(int)1280, height=(int)720, format=(string)BGRx ! videoconvert ! appsink" # 打开摄像头 cap = cv2.VideoCapture(pipeline, cv2.CAP_GSTREAMER) if not cap.isOpened(): print("无法打开摄像头") else: ret, frame = cap.read() if ret: # 保存捕获的图像 cv2.imwrite("captured_image.jpg", frame) cap.release() ``` 2. **茄子图像准备**:准备茄子的图像素材,可从网络下载或自行绘制,确保图像背景透明(PNG格式)。 3. **人脸检测**:使用OpenCV的人脸检测功能,检测捕获图像中的人脸位置。示例代码如下: ```python import cv2 # 加载人脸检测器 face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml') # 读取捕获的图像 image = cv2.imread("captured_image.jpg") gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # 检测人脸 faces = face_cascade.detectMultiScale(gray, 1.1, 4) for (x, y, w, h) in faces: # 这里可以进行后续的茄子图像叠加操作 pass ``` 4. **图像叠加**:将茄子图像叠加到检测到的人脸位置,生成茄子大头贴。示例代码如下: ```python import cv2 import numpy as np # 读取茄子图像 eggplant = cv2.imread("eggplant.png", cv2.IMREAD_UNCHANGED) # 假设已经检测到人脸位置 (x, y, w, h) for (x, y, w, h) in faces: # 调整茄子图像大小以适应人脸 resized_eggplant = cv2.resize(eggplant, (w, h)) # 分离茄子图像的RGB通道和Alpha通道 bgr = resized_eggplant[:, :, :3] alpha = resized_eggplant[:, :, 3] / 255.0 # 创建一个与茄子图像大小相同的遮罩 mask = np.dstack((alpha, alpha, alpha)) # 提取人脸区域 face_region = image[y:y+h, x:x+w] # 叠加茄子图像 blended = (face_region * (1 - mask) + bgr * mask).astype(np.uint8) # 将叠加后的区域放回原始图像 image[y:y+h, x:x+w] = blended # 保存生成的茄子大头贴 cv2.imwrite("eggplant_selfie.jpg", image) ```
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值