“IMX219 Camera”的版本间的差异
来自丢石头百科
Yousimaier17(讨论 | 贡献) (→树莓派) |
Yousimaier17(讨论 | 贡献) (→产品参数) |
||
第35行: | 第35行: | ||
*CMOS尺寸:1/4英寸 | *CMOS尺寸:1/4英寸 | ||
*视场角(FOV):77°/120°/160°/220° | *视场角(FOV):77°/120°/160°/220° | ||
+ | *焦距: | ||
+ | **77:2.85mm±5% | ||
+ | **120:1.79mm±5% | ||
+ | **160:1.05mm±5% | ||
+ | **220:2.16mm±5% | ||
*红外功能:无红外 | *红外功能:无红外 | ||
2023年4月14日 (五) 11:51的最新版本
| ||||||||||||||||||||||
| ||||||||||||||||||||||
|
目录
产品参数
- 像素:800万像素
- 感光芯片: IMX219
- 分辨率:3264 x 2464
- CMOS尺寸:1/4英寸
- 视场角(FOV):77°/120°/160°/220°
- 焦距:
- 77:2.85mm±5%
- 120:1.79mm±5%
- 160:1.05mm±5%
- 220:2.16mm±5%
- 红外功能:无红外
使用说明
Jetson Nano
摄像头测试
- 硬件连接
- Jetson Nano开发套件上的CSI摄像头接口位于金属散热片旁。在安装摄像头之前,需要先将CSI接口的插销拔起,操作时需注意别弄断插销。
- 将摄像头排线的金属面朝向散热板插入套件上的摄像头接口,确认完全插入后,再扣紧插销。
注:摄像头的测试画面是输出到HDMI或者DP屏幕的,所以在测试摄像头时Jetson Nano是需要连接屏幕的
- 启动Jetson Nano
- 测试摄像头
打开终端,输入指令测试摄像头 DISPLAY=:0.0 nvgstcapture-1.0 也可输入指令 nvgstcapture
- 若摄像头拍摄效果偏红,可进行下述操作
下载camera-override.isp文件,解压到特定文件夹 wget http://www.waveshare.net/w/upload/e/eb/Camera_overrides.tar.gz tar zxvf Camera_overrides.tar.gz sudo cp camera_overrides.isp /var/nvidia/nvcam/settings/ 安装文件 sudo chmod 664 /var/nvidia/nvcam/settings/camera_overrides.isp sudo chown root:root /var/nvidia/nvcam/settings/camera_overrides.isp
检测摄像头
- 安装好摄像头后,可通过以下命令来检测摄像头是否有问题,以及开发板是否检测出摄像头和摄像头的数量
ls /dev/video*
- 可通过v4l2-utils进一步检测摄像头数量以及规格
安装v4l2-utils sudo apt install v4l-utils
检测摄像头较完整信息 v4l2-ctl --list-devices 当接入多个摄像头时可通过此命令判断编号对应的摄像头
检测摄像头的规格参数 v4l2-ctl --device=/dev/video0 --list-formats-ext 其中video0可根据你需要查询的摄像头进行更改
Opencv 调用摄像头
- 如果要用opencv库调用摄像头,可以参考#NVIDIA入门教程中的
- Jetson Nano 2GB 系列文章(7):通过 OpenCV 调用 CSI/USB 摄像头
- Jetson Nano 2GB 系列文章(43):CSI摄像头安装与测试
- 也可参考官方的jetcam程序。官方Jetcam例程
树莓派
- 树莓派镜像在Bullseye版本之后,底层的树莓派驱动由Raspicam切换成libcamera。libcamera是一个开源的软件栈,方便于第三方移植和开发自己的摄像头驱动。截止到2021-12-20, libcamra还是存有很多bug,并且当前的libcamera不支持python。此IMX219摄像头模块目前仅支持Bullseye系统,使用libcamera命令调用
- 更多摄像头设置说明,请参考官方文档
测试摄像头
- 使用该摄像头前需先对config.txt文件进行配置
打开config.txt文件 sudo nano /boot/config.txt 找到 camera-auto-detect=1 改为 camera-auto-detect=0
同时在文件结尾添加
dtoverlay=imx219
ctrl+o进行保存;回车确认更改;ctrl+x关闭文件;
- 打开树莓派终端,并开启摄像头预览
sudo libcamera-hello -t 0
如果要关掉预览窗口,可以直接组合按键Alt-F4,或者点击x关掉。 也可以回到终端界面,用ctrl-c终止程序。 若输入上述命令后报错,可尝试在更改文件后重启再次进行上述操作。
- 若想抓取图片,可执行命令
libcamera-jpeg -o test.jpg
libcamera-hello
- 这个是一个简单的“hello word" 程序,用来预览摄像头并将摄像头画面显示在屏幕上。
- 终端执行以下语句即可实时预览摄像头:
libcamera-hello -t 0
- 其中 -t 0 表示一直预览至终止程序,用户可根据自己的需要进行调整。
libcamera-jpeg
- 这是一个简单的静态图片拍摄程序,不同于libcamera-still的复杂功能,libcamera-jpeg代码更简洁,并且有很多相同的功能来完成图片拍摄。
- 终端执行以下语句会显示一个5秒左右的预览串口,然后拍摄一张全像素的JPEG图像:
libcamera-jpeg -o test.jpg
- 其中test.jpg表示文件名
- 用户可以通过-t 参数来设置预览时间,同时可以通过--width 和 --height来设置拍摄图像的分辨率。例如
libcamera-jpeg -o test.jpg -t 2000 --width 640 --height 480
- 所有的libcamera指令都允许用户自己设置快门时间和增益,比如:
libcamera-jpeg -o test.jpg -t 2000 --shutter 20000 --gain 1.5
- 其中 --shutter 20000 表示曝光 20ms, --gain 1.5 表示摄像头增益被设置为1.5倍。
libcamera-still
- libcamera-still和libcamera-jpeg非常相似,不同的是libcamera继承了更多raspistill的功能。
- 终端执行以下语句即可拍照:
libcamera-still -o test.jpg
- 其中test.jpg表示文件名
- libcamea-still支持不同格式的图像文件,可以支持png和bmp编码,也支持直接不带编码或者任何图像格式地将RGB或者YUV像素的二进制转储保存成文件。如果是直接保存RGB或者YUV数据,程序在读取此类文件的时候必须了解文件的像素排列方式。
libcamera-still -e png -o test.png libcamera-still -e bmp -o test.bmp libcamera-still -e rgb -o test.data libcamera-still -e yuv420 -o test.data
- 图像保存的格式是通过-e参数控制的, 如果没有调用-e参数设置的话,默认按照输出的文件名的格式保存。
libcamera-vid
- libcamera-vid是一个视频录制程序, 默认使用的是树莓派的硬件H.264编码器。这个程序运行之后会在屏幕上显示一个预览窗口,同时将比特流编码输出到指定文件。
- 终端执行以下语句即可录制视频:
libcamera-vid -t 10000 -o test.h264
- 其中-t 10000 表示录制10秒的视频,test.h264表示文件名
- 如果要查看视频可以用vlc来进行播放
vlc test.h264
libcamera-raw
- libcamera-raw类似于视频录制程序,不同的地方时,libcamera-raw录制的是直接传感器输出的Bayer格式的数据,也就是原始图像数据。libcamera-raw不会显示预览窗口。
- 终端执行以下语句即可录制一个2秒的原始数据片段:
libcamera-raw -t 2000 -o test.raw
- 程序会在没有格式信息的情况下直接转储原始帧,程序会将像素格式和图像尺寸直接打印在终端,用户可以根据输出的数据查看像素数据.默认情况下,程序会将原始帧保存成一个文件,文件通常比较大,用户可以通过--segement参数将文件进行分割。
libcamera-raw -t 2000 --segment 1 -o test%05d.raw
NVIDIA入门教程
- Jetson Nano 2GB 系列文章(1):开箱介绍
- Jetson Nano 2GB 系列文章(2):安装系统
- Jetson Nano 2GB 系列文章(3):网络设置及添加 SWAPFile 虚拟内存
- Jetson Nano 2GB 系列文章(4):体验并行计算性能
- Jetson Nano 2GB 系列文章(5):体验视觉功能库
- Jetson Nano 2GB 系列文章(6):安装与调用摄像头
- Jetson Nano 2GB 系列文章(7):通过 OpenCV 调用 CSI/USB 摄像头
- Jetson Nano 2GB 系列文章(8):执行常见机器视觉应用
- Jetson Nano 2GB 系列文章(9):调节 CSI 图像质量
- Jetson Nano 2GB 系列文章(10):颜色空间动态调节技巧
- Jetson Nano 2GB 系列文章(11):你应该了解的 OpenCV
- Jetson Nano 2GB 系列文章(12):人脸定位
- Jetson Nano 2GB 系列文章(13):身份识别
- Jetson Nano 2GB 系列文章(14):Hello AI World
- Jetson Nano 2GB 系列文章(15):Hello AI World 环境安装
- Jetson Nano 2GB 系列文章(16):10 行代码威力
- Jetson Nano 2GB 系列文章(17):更换模型得到不同效果
- Jetson Nano 2GB 系列文章(18):Utils 的 videoSource 工具
- Jetson Nano 2GB 系列文章(19):Utils 的 videoOutput 工具
- Jetson Nano 2GB 系列文章(20):“Hello AI World” 扩充参数解析功能
- Jetson Nano 2GB 系列文章(21):“Hello AI World” 图像分类指令
- Jetson Nano 2GB 系列文章(22):“Hello AI World” 图像分类代码
- Jetson Nano 2GB 系列文章(23):“Hello AI World”的物件识别应用
- Jetson Nano 2GB 系列文章(24):“Hello AI World” 的物件识别应用
- Jetson Nano 2GB 系列文章(25):“Hello AI World” 图像分类的模型训练
- Jetson Nano 2GB 系列文章(26):“Hello AI World” 物件检测的模型训练
- Jetson Nano 2GB 系列文章(27):DeepStream 简介与启用
- Jetson Nano 2GB 系列文章(28):DeepStream 初体验
- Jetson Nano 2GB 系列文章(29):DeepStream 目标追踪功能
- Jetson Nano 2GB 系列文章(30):DeepStream 摄像头“实时性能”
- Jetson Nano 2GB 系列文章(31):DeepStream 多模型组合检测-1
- Jetson Nano 2GB 系列文章(32):架构说明与deepstream-test范例
- Jetson Nano 2GB 系列文章(33):DeepStream 车牌识别与私密信息遮盖
- Jetson Nano 2GB 系列文章(34):DeepStream 安装Python开发环境
- Jetson Nano 2GB 系列文章(35):Python版test1实战说明
- Jetson Nano 2GB 系列文章(36):加入USB输入与RTSP输出
- Jetson Nano 2GB 系列文章(37):多网路模型合成功能
- Jetson Nano 2GB 系列文章(38):nvdsanalytics视频分析插件
- Jetson Nano 2GB 系列文章(39):结合IoT信息传输
- Jetson Nano 2GB 系列文章(40):Jetbot系统介绍
- Jetson Nano 2GB 系列文章(41):软件环境安装
- Jetson Nano 2GB 系列文章(42):无线WIFI的安装与调试
- Jetson Nano 2GB 系列文章(43):CSI摄像头安装与测试
- Jetson Nano 2GB 系列文章(43):Jetson的40针引脚
- Jetson Nano 2GB 系列文章(45):I2C总线与PiOLED
- Jetson Nano 2GB 系列文章(46):机电控制设备的安装
- Jetson Nano 2GB 系列文章(47):组装过程的注意细节
- Jetson Nano 2GB 系列文章(48):用键盘与摇杆控制行动
- Jetson Nano 2GB 系列文章(49):智能避撞之现场演示
- Jetson Nano 2GB 系列文章(50):智能避障之模型训练
- Jetson Nano 2GB 系列文章(51):图像分类法实现找路功能
- Jetson Nano 2GB 系列文章(52):图像回归法实现循路功能
- Jetson Nano 2GB 系列文章(53):简化模型训练流程的TAO工具套件
- Jetson Nano 2GB 系列文章(54):NGC的内容简介与注册密钥
- Jetson Nano 2GB 系列文章(55):安装TAO模型训练工具
- Jetson Nano 2GB 系列文章(56):启动器CLI指令集与配置文件
- Jetson Nano 2GB 系列文章(57):视觉类脚本的环境配置与映射
- Jetson Nano 2GB 系列文章(58):视觉类的数据格式
- Jetson Nano 2GB 系列文章(59):视觉类的数据增强
- Jetson Nano 2GB 系列文章(60):图像分类的模型训练与修剪