“OV5647 Camera”的版本间的差异

来自丢石头百科
第40行: 第40行:
 
**OV5647 Camera (200):2.16mm±5%(可手动调焦)
 
**OV5647 Camera (200):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
 
  
 
==== 检测摄像头 ====
 
==== 检测摄像头 ====
第77行: 第55行:
 
  v4l2-ctl --device=/dev/video0 --list-formats-ext
 
  v4l2-ctl --device=/dev/video0 --list-formats-ext
 
  其中video0可根据你需要查询的摄像头进行更改
 
  其中video0可根据你需要查询的摄像头进行更改
 
==== Opencv 调用摄像头 ====
 
*如果要用opencv库调用摄像头,可以参考[[#NVIDIA入门教程]]中的
 
**Jetson Nano 2GB 系列文章(7):通过 OpenCV 调用 CSI/USB 摄像头
 
**Jetson Nano 2GB 系列文章(43):CSI摄像头安装与测试
 
*也可参考官方的jetcam程序。[https://github.com/NVIDIA-AI-IOT/jetcam 官方Jetcam例程]
 
  
 
=== 树莓派 ===
 
=== 树莓派 ===
第104行: 第76行:
 
  libcamera-jpeg -o test.jpg
 
  libcamera-jpeg -o test.jpg
  
 +
== 使用说明 ==
 +
=== 测试摄像头 ===
 +
==== 硬件连接 ====
 +
把摄像头的排线插入到网口和 HDMI 口之间的排线插槽,银色亮面朝向 HDMI 口。需要先把树莓派板载的排线插槽的扣子拨开,才能插入排线。排线需要紧密插入排线插槽,同时应注意避免排线折弯。排线插入之后,需要把插槽的扣子重新扣上。
 +
 +
==== Bullseye系统 ====
 +
注:最新的bullseye镜像,摄像头接口已经默认开启,故无需配置raapi-config。
 +
进入命令行终端,执行以下语句获取系统更新:
 +
<pre>
 +
apt-get update
 +
apt-get upgrade
 +
</pre>
 +
然后输入命令,进行摄像头预览
 +
<pre>
 +
sudo libcamera-hello -t 0
 +
</pre>
 +
如果要关掉预览窗口,可以点击x关掉。 也可以回到终端界面,用ctrl-c终止程序。
 +
 +
==== Buster系统 ====
 +
进入命令行终端,执行以下语句获取系统更新:
 +
<pre>
 +
apt-get update
 +
apt-get upgrade
 +
</pre>
 +
使用 raspi-config 配置摄像头。执行:
 +
<pre>
 +
sudo raspi-config
 +
</pre>
 +
 +
依次选择:
 +
Interfacing Options --> Camera --> Would you like the camera interface to be enabled? 选择 <Yes>
 +
 +
重启系统:提示 Would you like to reboot now? 选择 Yes
 +
或者执行这个命令重启:
 +
<pre>
 +
sudo reboot
 +
</pre>
 +
配置并且连接完摄像头,只要给树莓派上电即可使用拍照和摄像功能。
 +
打开树莓派终端,并开启摄像头预览:
 +
<pre>
 +
sudo raspistill -t 0
 +
</pre>
 +
如果要关掉预览窗口,可以用ctrl-c终止程序。
 +
 +
=== Bullseye系统 ===
 
==== libcamera-hello ====
 
==== libcamera-hello ====
 
*这个是一个简单的“hello word" 程序,用来预览摄像头并将摄像头画面显示在屏幕上。
 
*这个是一个简单的“hello word" 程序,用来预览摄像头并将摄像头画面显示在屏幕上。
第167行: 第184行:
 
libcamera-raw -t 2000 --segment 1 -o test%05d.raw
 
libcamera-raw -t 2000 --segment 1 -o test%05d.raw
 
</pre>
 
</pre>
 +
 +
=== Buster系统 ===
 +
==== 拍照 ====
 +
终端执行以下语句即可拍照:
 +
<pre>
 +
raspistill -o image.jpg
 +
</pre>
 +
此处 image.jpg 是照片文件名。
 +
 +
==== 摄像 ====
 +
终端执行以下语句即可摄像:
 +
<pre>
 +
raspivid -o video.h264 -t 10000
 +
</pre>
 +
其中 -t 10000 表示录制 10 秒,用户各根据自己的需要进行调整。
 +
 +
=== 参考资料 ===
 +
* [http://www.raspberrypi.org/camera 树莓派摄像头教程]
  
 
== NVIDIA入门教程 ==
 
== NVIDIA入门教程 ==
 
{{NVIDIA-Jetson-Nano-2GB-Introductory Course}}
 
{{NVIDIA-Jetson-Nano-2GB-Introductory Course}}

2022年7月7日 (四) 17:44的版本

OV5647 Camera
OV5647 Camera (77).jpg

OV5647 Camera (77)


OV5647 Camera (120).jpg

OV5647 Camera (120)


OV5647 Camera (160).jpg

OV5647 Camera (160)


OV5647 Camera (200).jpg

OV5647 Camera (200)

基本信息

分类: 树莓派 摄像头 视频

品牌: Diustou

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

接口

CSI接口

相关产品

{{{related}}}

产品参数

  • 像素:500万像素
  • 感光芯片: OV5647
  • 分辨率:3264 x 2464
  • CMOS尺寸:1/4英寸
  • 视场角(FOV):77°/120°/160°/220°
  • 焦距:
    • OV5647 Camera (77):2.85mm±5%
    • OV5647 Camera (120):1.79mm±5%
    • OV5647 Camera (160):1.05mm±5%
    • OV5647 Camera (200):2.16mm±5%(可手动调焦)
  • 红外功能:无红外

检测摄像头

  • 安装好摄像头后,可通过以下命令来检测摄像头是否有问题,以及开发板是否检测出摄像头和摄像头的数量
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可根据你需要查询的摄像头进行更改

树莓派

  • 树莓派镜像在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

使用说明

测试摄像头

硬件连接

把摄像头的排线插入到网口和 HDMI 口之间的排线插槽,银色亮面朝向 HDMI 口。需要先把树莓派板载的排线插槽的扣子拨开,才能插入排线。排线需要紧密插入排线插槽,同时应注意避免排线折弯。排线插入之后,需要把插槽的扣子重新扣上。

Bullseye系统

注:最新的bullseye镜像,摄像头接口已经默认开启,故无需配置raapi-config。 进入命令行终端,执行以下语句获取系统更新:

apt-get update
apt-get upgrade

然后输入命令,进行摄像头预览

sudo libcamera-hello -t 0

如果要关掉预览窗口,可以点击x关掉。 也可以回到终端界面,用ctrl-c终止程序。

Buster系统

进入命令行终端,执行以下语句获取系统更新:

apt-get update
apt-get upgrade

使用 raspi-config 配置摄像头。执行:

sudo raspi-config

依次选择: Interfacing Options --> Camera --> Would you like the camera interface to be enabled? 选择 <Yes>

重启系统:提示 Would you like to reboot now? 选择 Yes 或者执行这个命令重启:

sudo reboot

配置并且连接完摄像头,只要给树莓派上电即可使用拍照和摄像功能。 打开树莓派终端,并开启摄像头预览:

sudo raspistill -t 0

如果要关掉预览窗口,可以用ctrl-c终止程序。

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

Buster系统

拍照

终端执行以下语句即可拍照:

raspistill -o image.jpg

此处 image.jpg 是照片文件名。

摄像

终端执行以下语句即可摄像:

raspivid -o video.h264 -t 10000

其中 -t 10000 表示录制 10 秒,用户各根据自己的需要进行调整。

参考资料

NVIDIA入门教程