“IMX219 Camera”的版本间的差异

来自丢石头百科
(创建页面,内容为“{{Product |images= 400px IMX219 Camera (77, NORMAL) ----- 400px IMX219 Camera (120…”)
 
第33行: 第33行:
 
*感光芯片: IMX219
 
*感光芯片: IMX219
 
*CMOS尺寸:1/4英寸
 
*CMOS尺寸:1/4英寸
*焦距(Focal Length):2.96mm
 
 
*视场角(FOV):77°/120°/160°/220°
 
*视场角(FOV):77°/120°/160°/220°
**畸变(Distortion):< 1%
 
**镜头尺寸:6.5mm × 6.5mm
 
  
Jetson Nano使用说明
+
== 使用说明 ==
 +
=== Jetson Nano ===
 
硬件连接
 
硬件连接
 
将摄像头排线,金属面朝向散热板插入Jetson Nano 开发套件上的摄像头接口
 
将摄像头排线,金属面朝向散热板插入Jetson Nano 开发套件上的摄像头接口
第70行: 第68行:
 
如果要用opencv库调用摄像头,可以参考官方的jetcam程序。官方Jetcam例程
 
如果要用opencv库调用摄像头,可以参考官方的jetcam程序。官方Jetcam例程
  
Compute Module使用说明(libcamera)
+
=== 树莓派 ===
这IMX219系列摄像头由于树莓派主板加密问题,不能用在树莓派主板上,只能在计算模块上配合载板使用。
+
树莓派镜像在Bullseye版本之后,底层的树莓派驱动由Raspicam切换成libcamera。libcamera是一个开源的软件栈,方便于第三方移植和开发自己的摄像头驱动。截止到2021-12-20, libcamra还是存有很多bug,并且当前的libcamera不支持python。
IMX219系列摄像头的使用同其他树莓派摄像头的使用方法一样
+
'''此IMX219摄像头模块目前仅支持Bullseye系统,使用libcamera命令调用'''
 +
 
 +
==== libcamera-hello ====
 +
*这个是一个简单的“hello word" 程序,用来预览摄像头并将摄像头画面显示在屏幕上。
 +
*终端执行以下语句即可实时预览摄像头:
 +
<pre>
 +
libcamera-hello -t 0
 +
</pre>
 +
:其中 -t 0 表示一直预览至终止程序,用户可根据自己的需要进行调整。
 +
 
 +
==== libcamera-jpeg ====
 +
*这是一个简单的静态图片拍摄程序,不同于libcamera-still的复杂功能,libcamera-jpeg代码更简洁,并且有很多相同的功能来完成图片拍摄。
 +
*终端执行以下语句会显示一个5秒左右的预览串口,然后拍摄一张全像素的JPEG图像:
 +
<pre>
 +
libcamera-jpeg -o test.jpg
 +
</pre>
 +
:其中test.jpg表示文件名
 +
*用户可以通过-t 参数来设置预览时间,同时可以通过--width 和 --height来设置拍摄图像的分辨率。例如
 +
<pre>
 +
libcamera-jpeg -o test.jpg -t 2000 --width 640 --height 480
 +
</pre>
 +
*所有的libcamera指令都允许用户自己设置快门时间和增益,比如:
 +
<pre>
 +
libcamera-jpeg -o test.jpg -t 2000 --shutter 20000 --gain 1.5
 +
</pre>
 +
:其中 --shutter 20000 表示曝光 20ms, --gain 1.5 表示摄像头增益被设置为1.5倍。
 +
 
 +
==== libcamera-still ====
 +
*libcamera-still和libcamera-jpeg非常相似,不同的是libcamera继承了更多raspistill的功能。
 +
*终端执行以下语句即可拍照:
 +
<pre>
 +
libcamera-still -o test.jpg
 +
</pre>
 +
:其中test.jpg表示文件名
 +
*libcamea-still支持不同格式的图像文件,可以支持png和bmp编码,也支持直接不带编码或者任何图像格式地将RGB或者YUV像素的二进制转储保存成文件。如果是直接保存RGB或者YUV数据,程序在读取此类文件的时候必须了解文件的像素排列方式。
 +
<pre>
 +
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
 +
</pre>
 +
:图像保存的格式是通过-e参数控制的, 如果没有调用-e参数设置的话,默认按照输出的文件名的格式保存。
 +
 
 +
==== libcamera-vid ====
 +
*libcamera-vid是一个视频录制程序, 默认使用的是树莓派的硬件H.264编码器。这个程序运行之后会在屏幕上显示一个预览窗口,同时将比特流编码输出到指定文件。
 +
*终端执行以下语句即可录制视频:
 +
<pre>
 +
libcamera-vid -t 10000 -o test.h264
 +
</pre>
 +
:其中-t 10000 表示录制10秒的视频,test.h264表示文件名
 +
:如果要查看视频可以用vlc来进行播放
 +
<pre>
 +
vlc test.h264
 +
</pre>
 +
 
 +
==== libcamera-raw ====
 +
*libcamera-raw类似于视频录制程序,不同的地方时,libcamera-raw录制的是直接传感器输出的Bayer格式的数据,也就是原始图像数据。libcamera-raw不会显示预览窗口。
 +
*终端执行以下语句即可录制一个2秒的原始数据片段:
 +
<pre>
 +
libcamera-raw -t 2000 -o test.raw
 +
</pre>
 +
:程序会在没有格式信息的情况下直接转储原始帧,程序会将像素格式和图像尺寸直接打印在终端,用户可以根据输出的数据查看像素数据.默认情况下,程序会将原始帧保存成一个文件,文件通常比较大,用户可以通过--segement参数将文件进行分割。
 +
<pre>
 +
libcamera-raw -t 2000 --segment 1 -o test%05d.raw
 +
</pre>
  
 
== 使用说明 ==
 
== 使用说明 ==

2022年7月6日 (三) 17:50的版本

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
  • CMOS尺寸:1/4英寸
  • 视场角(FOV):77°/120°/160°/220°

使用说明

Jetson Nano

硬件连接 将摄像头排线,金属面朝向散热板插入Jetson Nano 开发套件上的摄像头接口 启动Jetson Nano 测试摄像头 打开终端(键盘按下Ctrl+ALT+T快捷键打开终端),输入以下指令测试摄像头 DISPLAY=:0.0 nvgstcapture-1.0 测试双摄像头 如果需要测试双摄像头,可以添加sensor-id=x 来选择摄像头。x可以为0 或者 1

  1. 测试video0

DISPLAY=:0.0 nvgstcapture-1.0 --sensor-id=0

  1. 测试video1

DISPLAY=:0.0 nvgstcapture-1.0 --sensor-id=1 如果摄像头拍摄效果偏红的话,可以按照以下步骤操作 1.下载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/ 2.安装文件:

sudo chmod 664 /var/nvidia/nvcam/settings/camera_overrides.isp sudo chown root:root /var/nvidia/nvcam/settings/camera_overrides.isp 【注意】

- NV12的12是数字而不是字母

- 测试画面是输出到HDMI或者DP屏幕的,所以测试的时候要先连接屏幕到Jetson Nano

Opencv调用摄像头 如果要用opencv库调用摄像头,可以参考官方的jetcam程序。官方Jetcam例程

树莓派

树莓派镜像在Bullseye版本之后,底层的树莓派驱动由Raspicam切换成libcamera。libcamera是一个开源的软件栈,方便于第三方移植和开发自己的摄像头驱动。截止到2021-12-20, libcamra还是存有很多bug,并且当前的libcamera不支持python。 此IMX219摄像头模块目前仅支持Bullseye系统,使用libcamera命令调用

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

使用说明

Bullseye系统

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