“IMX219 Camera”的版本间的差异

来自丢石头百科
 
第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的最新版本

IMX219 Camera
IMX219 Camera (77, NORMAL).jpg

IMX219 Camera (77, NORMAL)


IMX219 Camera (120, NORMAL).jpg

IMX219 Camera (120, NORMAL)


IMX219 Camera (160, NORMAL).jpg

IMX219 Camera (160, NORMAL)


IMX219 Camera (220, NORMAL).jpg

IMX219 Camera (220, NORMAL)

基本信息

分类: 树莓派 Jetson Nano 摄像头 视频

品牌: Diustou

功能简介
特性
  • 800万像素
  • 模组:IMX219
  • 视场角:77/120/160/220

接口

CSI接口

相关产品

{{{related}}}

产品参数

  • 像素: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入门教程