IMX462 2MP Starlight Camera

来自Waveshare Wiki
Eng50讨论 | 贡献2022年8月11日 (四) 17:03的版本 (文本替换 - 替换“<h1>售后</h1>”为“<h1>技术支持</h1>”)
跳转至: 导航搜索
{{{name2}}}
{{{name3}}}
功能简介
特性 200万像素
模组 IMX462
视场角 99°/127°
特点 星光级
' 无特性,不解释
接口 CSI

简介

产品介绍

IMX462 2MP Starlight Camera是一款星光级摄像头,搭载1/2.8英寸索尼星光级传感器,IMX462 采用Sony被找背照式像素技术,在可见光和近红外段有高质量的成像效果。IXM462 2MP Starlight Camera最大分辨率为1920*1080,板载IR-CUT,可以自由切换日夜模式。摄像头板载ISP处理电路从而进一步增强摄像头成像效果。提供99°和127°两种视场角选项,用户可以根据自己的需求选择。

产品规格

IMX462-99 IMX462-127
图像传感器
感光芯片 SONY IMX462LQR-C STARVIS
像素 2.07MP
分辨率 1920×1080
像素尺寸 2.9um×2.9um
快门方式 卷帘快门
ISP图像处理
帧率 1080p@25fps、1080p@30fps
曝光 AE(自动曝光)/手动
白平衡 AWB(自动白平衡), 手动
快门 1/25(1/30)s to 1/50,000s (支持慢快门)
降噪 2D/3D降噪
图像设置 亮度、对比度、锐度、饱和度、GAMMA可调、图像翻转、图像镜像
图像增强 背光补偿、DOL-WDR、去雾
日夜切换 外触发同步转换,手动强制彩色、黑白
镜头
视场角(FOV) 99.1°(D) / 83.5°(H) / 44.6°(V) 127.9°(D) / 106.9°(H) / 56.9°(V)
光圈 F1.0 F1.61
焦距 4.0mm 3.18mm
畸变 -33.8% -51%
对焦方式 手动
工作参数
工作温度 -10℃~60℃
工作湿度 <=95%无凝结

尺寸图

PCBA尺寸

IMX462-2MP-Starlight-Camera-Dimension.jpg

PCBA 3D图纸


树莓派使用说明

使用说明

由于IMX462不是树莓派默认支持的摄像头型号,因此无法使用树莓派自带的libcamera或者raspicam库。需要另外安装驱动和控制脚本使用。
提供的驱动仅支持树莓派Raspberry PI OS系统,暂时未对其他系统做支持。

配置i2c

打开树莓派终端,输入指令

sudo raspi-config

选择Interface Options -> I2c -> Yes

下载安装驱动

下载驱动前,请确保已经正常烧写最新的树莓派系统,连接好摄像头,并完成开机配置。
打开树莓派终端,并输入以下指令进行安装

wget https://github.com/veyeimaging/raspberrypi_v4l2/releases/latest/download/raspberrypi_v4l2.tgz
tar -xzvf raspberrypi_v4l2.tgz
cd raspberrypi_v4l2/release/
chmod +x *

安装驱动

树莓派5

cd ~/raspberrypi_v4l2/release/
sudo ./install_driver_rpi5.sh veyecam2m

由于在树莓派5上,驱动程序现在使用media control API,必须先正确设置media graph才可以正常使用。这包括正确设置media pad的格式并正确链接它们。 在rpi5_scripts目录提供了一系列脚本实现这个功能。 因此每次重新上电后,需要运行以下指令配置一下,然后才能正常使用。

cd ~/raspberrypi_v4l2/rpi5_scripts/
sudo ./find_entity.sh
sudo ./media_setting_rpi5.sh veyecam2m

其他树莓派

cd ~/raspberrypi_v4l2/release/
sudo ./install_driver.sh veyecam2m

卸载驱动(可选)

如果需要更换其他摄像头型号的额驱动,可以卸载现在的驱动

sudo ./uninstall_driver.sh veyecam2m

测试摄像头

注:如果你是通过远程终端操作摄像头,在使用预览指令前请先输入export DISPLAY=:0指令指定一下屏幕输出。

使用qv4l2预览图像

  • 安装工具
sudo apt-get install qv4l2
  • 运行工具

在终端命令行界面输入以下工具打开软件

qv4l2

运行后,点击左上角的播放图标进行预览即可

使用Gstreamer预览

安装Gstreamer

打开树莓派终端,并输入以下指令进行安装:

sudo apt-get install gstreamer1.0-tools
sudo apt-get install libx264-dev libjpeg-dev
sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-ugly gstreamer1.0-tools gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-plugins-good gstreamer1.0-plugins-bad

抓拍图片

gst-launch-1.0 v4l2src num-buffers=1 device=/dev/video0 ! 'video/x-raw, format=(string)UYVY, width=1920,height=1080' ! jpegenc ! filesink location=test_image.jpg

视频预览

gst-launch-1.0 v4l2src io-mode=dmabuf device=/dev/video0 ! "video/x-raw,format=(string)UYVY, width=(int)1920, height=(int)1080,framerate=(fraction)30/1" ! v4l2convert capture-io-mode=dmabuf output-io-mode=dmabuf ! autovideosink sync=false -v

视频预览(加时间戳显示)

gst-launch-1.0 v4l2src device=/dev/video0 ! "video/x-raw,format=(string)UYVY, width=(int)1920, height=(int)1080,framerate=(fraction)30/1"  ! videoconvert ! videoscale ! clockoverlay time-format="%D %H:%M:%S" ! video/x-raw, width=640, height=360 ! autovideosink sync=false -v

录制视频 (mkv文件)

gst-launch-1.0 -e v4l2src io-mode=dmabuf device=/dev/video0 num-buffers=300 ! "video/x-raw,format=(string)UYVY, width=(int)1920, height=(int)1080,framerate=(fraction)30/1" ! v4l2h264enc capture-io-mode=dmabuf output-io-mode=dmabuf extra-controls="controls, h264_profile=4, video_bitrate=6200000" ! 'video/x-h264, profile=high, level=(string)4' ! h264parse ! matroskamux ! filesink location=output.mkv

录制视频(mp4文件

gst-launch-1.0 -e v4l2src io-mode=dmabuf device=/dev/video0  num-buffers=300 ! "video/x-raw,format=(string)UYVY, width=(int)1920, height=(int)1080,framerate=(fraction)30/1" ! v4l2h264enc capture-io-mode=dmabuf output-io-mode=dmabuf extra-controls="controls, h264_profile=4, video_bitrate=6200000" ! 'video/x-h264, profile=high, level=(string)4' ! h264parse ! mp4mux ! filesink location=video.mp4

TCP视频流传输

树莓派端, 监听端口为5000
gst-launch-1.0 -v v4l2src device=/dev/video0 num-buffers=-1 ! "video/x-raw,format=(string)UYVY, width=(int)1920, height=(int)1080,framerate=(fraction)30/1" ! v4l2h264enc extra-controls="controls, h264_profile=4, video_bitrate=4000000" ! 'video/x-h264, profile=high, level=(string)4' ! h264parse ! rtph264pay config-interval=1 pt=96 ! gdppay ! tcpserversink  host=x.x.x.x port=5000
从机端获取
gst-launch-1.0 -v tcpclientsrc host=x.x.x.x port=5000 ! gdpdepay ! rtph264depay ! avdec_h264 ! autovideosink sync=false

注意:x.x.x.x需要根据实际的树莓派IP地址更换,比如gst-launch-1.0 -v tcpclientsrc host=192.168.1.10 port=5000 ! gdpdepay ! rtph264depay ! avdec_h264 ! autovideosink sync=false

使用Opencv获取视频

gst-launch-1.0 v4l2src device=/dev/video0  ! "video/x-raw,format=(string)UYVY, width=(int)1920, height=(int)1080,framerate=(fraction)30/1" ! videoscale ! "video/x-raw,width=640,height=480" ! videoconvert ! "video/x-raw, format=(string)BGR" ! appsink

注意:这里不是直接在树莓派中单运行的,而是最为video.Capture(str)str的参数做调用。

使用Compute Module 计算模块

如果用户使用的是树莓派的CM3或者CM4计算模块,需要安装dtb和设备树文件。

加载设备树

sudo wget https://datasheets.raspberrypi.com/cmio/dt-blob-dualcam.bin -O /boot/dt-blob.bin
sudo cp ~/raspberrypi_v4l2/release/driver_bin/$(uname -r)/veyecam2m.dtbo /boot/overlays/veyecam2m.dtbo
sudo reboot

设备说明

CM4采用两路i2c分别与两个摄像头通信,分别是i2c-0和i2c-10。
如果同时接入两路摄像头,会在系统成识别成video0和video2两个节点。

CAM0预览

gst-launch-1.0 v4l2src io-mode=dmabuf device=/dev/video0 ! "video/x-raw,format=(string)UYVY, width=(int)1920, height=(int)1080,framerate=(fraction)30/1" ! v4l2convert capture-io-mode=dmabuf output-io-mode=dmabuf ! autovideosink sync=false -v

CAM1预览

gst-launch-1.0 v4l2src io-mode=dmabuf device=/dev/video2 ! "video/x-raw,format=(string)UYVY, width=(int)1920, height=(int)1080,framerate=(fraction)30/1" ! v4l2convert capture-io-mode=dmabuf output-io-mode=dmabuf ! autovideosink sync=false -v

Jetson Nano 使用说明

版本说明

IMX462 摄像头在英伟达平台使用要安装相关驱动,加载新的设备树文件。目前支持Jetson Nano, Jetson Xavier NX, Jetson TX2 NX, Jetson AGX Xavier.
注:AGX Xavier等接口封装不同的,需要自己另外购买或做转接板支持。
目前支持的Jetapck版本:

  • Jetpack4.2.2,L4T版本r32.2.1
  • Jetpack4.3,L4T版本r32.3.1
  • Jetpack4.4,L4T版本r32.4.3
  • Jetpack4.4.1,L4T版本r32.4.4
  • Jetpack4.5,L4T版本r32.5
  • Jetpack4.5.1,L4T版本r32.5.1
  • Jetpack4.6,L4T版本r32.6.1
  • Jetpack4.6.1,L4T版本r32.7.1
  • Jetpack4.6.2,L4T版本r32.7.2
  • Jetpack5.0.1DP,L4T版本r34.1.1

查看JetPack版本

如果你不确定你的软件版本是否在支持范围内,可以用以下指令查看。

cat /etc/nv_tegra_release

如果显示 R32 (release), REVISION: 4.3 代表当前的版本为R32.4.3

硬件连接

说明

请将摄像头排线,金手指接触面朝向核心板一侧,接入jetson开发板。

IMX462-Connect Nano.jpg
  • Jetpack4.x版本

使用IMX462摄像头,需要更新Jetson系统的Image和dtb部分。Image部分,增加了摄像头驱动,dtb部分则指明了使用的摄像头型号。一般情况下,只需使用已编译好的Image和dtb,非必要情况下,无需根据代码进行编译。

  • JetPack5.0以后的版本(针对Xavier NX和AGX Xavier以及更高性能的模组)

驱动不再编译进Image,而是以独立module的形式加载到系统中。dtb现在依然是采用整体编译到一起的方式以方便进行替换。dtb也可以以overlay形式动态加载。

BSP包

  • 下载路径:
https://github.com/veyeimaging/nvidia_jetson_veye_bsp
  • bsp包内容:
    • 预编译好的不同平台下的dtb
    • driver源码
    • dts源码
    • i2c通信工具集
  • DTB包文件和板卡的对应关系:
    • Nano B01
    tegra210-p3448-0000-p3449-0000-b00.dtb
    • Nano eMMC
    tegra210-p3448-0002-p3449-0000-b00.dtb
    • AGX XAVIER
    tegra194-p2888-0001-p2822-0000.dtb
    • XAVIER NX
    tegra194-p3668-all-p3509-0000.dtb
    (Jetpack5.0.1) tegra194-p3668-0000-p3509-0000.dtb
    • AGX Orin
    tegra234-p3701-0000-p3737-0000.dtb
    • Orin NX
    Jetson Orin NX 16G(P3767-0000):tegra234-p3767-0000-p3768-0000-a0.dtb
    Jetson Orin NX 8G (P3767-0001):tegra234-p3767-0001-p3768-0000-a0.dtb
    • Orin Nano
    Jetson Orin Nano 8G(P3767-0003) and Jetson Orin Nano Devkit(P3767-0005):tegra234-p3767-0003-p3768-0000-a0.dtb
    Jetson Orin Nano 4G (P3767-0004):tegra234-p3767-0004-p3768-0000-a0.dtb

安装驱动

直接在jetson主板上升级。

wget https://github.com/veyeimaging/nvidia_jetson_veye_bsp/releases/latest/download/nvidia_jetson_veye_bsp.tar.gz
tar -xzvf nvidia_jetson_veye_bsp.tar.gz

升级Image(适用JetPack4.x)

  • 备份原来的Image
cp /boot/Image /boot/Image.backup
cp /boot/Image.sig /boot/Image.sig.backup
  • (Jetson Nano)在下载的bsp包中,找到对应的Image压缩包,进行解压,然后执行指令
sudo cp <path to your Image dir>/Image /boot/Image -f
注意这里要将<path to your Image dir>替换成你实际解压出来的Image文件的路径。
  • (NX) 如果你使用的是Xavier NX,需要使用签名版本,也就是带signed字眼的包。
sudo cp <path to your Image dir>/Image /boot/Image -f
sudo cp <path to your Image dir>/Image.sig /boot/Image.sig -f

安装module是(适用JetPack5.x)

  • 查看linux版本
uname -r
  • 在nvidia_jetson_veye_bsp/ko目录下找到对应的驱动版本目录, 运行指令
sudo cp nvidia_jetson_veye_bsp/ko/$(uname -r)/* /lib/modules/$(uname -r)/kernel/drivers/media/i2c/ -f
sudo depmod

升级dtb

  • 在bsp包目录下,找到对应摄像头(VEYE-MIPI-CAM2M)型号和L4T版本号的dtb文件。进行拷贝
sudo mkdir /boot/veyecam/
sudo cp <path to your dtb dir>/<DTB file name> /boot/veyecam -f
  • 备份extlinux.conf文件
cp /boot/extlinux/extlinux.conf /boot/extlinux/extlinux.conf.back
  • 编辑 /boot/extlinux/extlinux.conf文件,在最下面增加如下一行
FDT /boot/veyecam/<DTB file name>

注:<DTB file name>应当替换为主板对应的dtb名称,确保FDT一行所指明的文件确实正确存在。

  • 重启系统:
sudo reboot

测试摄像头

检查摄像头是否正常连接

在系统升级成功后,可以在Jetson nano终端输入以下指令检测摄像头是否正常连接

dmesg | grep veye

有IMX462等提示即可。同时查看ls /dev/ 有videox设备节点

测试摄像头(Gstreamer)

  • 视频预览1080P
export DISPLAY=:0
gst-launch-1.0 nvv4l2camerasrc device=/dev/video0 ! "video/x-raw(memory:NVMM),format=(string)UYVY, width=(int)1920, height=(int)1080" ! nvvidconv ! "video/x-raw(memory:NVMM),format=(string)NV12" ! nvoverlaysink sync=false
gst-launch-1.0 nvv4l2camerasrc device=/dev/video0 ! "video/x-raw(memory:NVMM),format=(string)UYVY, width=(int)1920, height=(int)1080" ! nvvidconv ! "video/x-raw(memory:NVMM),format=(string)I420" ! nvoverlaysink sync=false
  • 视频预览1080p (xvimagesink)
export DISPLAY=:0
gst-launch-1.0 -e v4l2src io-mode=4 device=/dev/video0 do-timestamp=true ! 'video/x-raw, width=1920, height=1080, framerate=30/1, format=UYVY' ! xvimagesink sync=false
  • 同时预览两路摄像头
WIDTH=960
HEIGHT=540

CAPS="video/x-raw(memory:NVMM),format=(string)UYVY, width=1920, height=1080"

gst-launch-1.0 nvcompositor name=comp sink_0::xpos=0 sink_0::ypos=0 sink_0::width=$WIDTH sink_0::height=$HEIGHT sink_1::xpos=$WIDTH sink_1::ypos=0 sink_1::width=$WIDTH sink_1::height=$HEIGHT ! nvoverlaysink nvv4l2camerasrc device=/dev/video0 ! $CAPS ! nvvidconv ! "video/x-raw(memory:NVMM),format=(string)I420"! comp. nvv4l2camerasrc device=/dev/video1 ! $CAPS ! nvvidconv ! "video/x-raw(memory:NVMM),format=(string)I420"! comp
  • 用Opencv调用Gstreamer
gst-launch-1.0 nvv4l2camerasrc ! video/x-raw(memory:NVMM), format=(string)UYVY, width=(int)1920, height=(int)1080 ! nvvidconv ! video/x-raw(memory:NVMM), format=(string)I420 ! nvvidconv ! video/x-raw, format=(string)BGRx ! videoconvert ! video/x-raw, format=(string)BGR ! appsink
  • 视频录制1080p
gst-launch-1.0 nvv4l2camerasrc num-buffers=300 ! "video/x-raw(memory:NVMM),format=(string)UYVY, width=(int)1920, height=(int)1080" ! nvvidconv ! "video/x-raw(memory:NVMM),format=(string)NV12" ! nvv4l2h264enc control-rate=1 bitrate=10000000 ! h264parse ! qtmux ! filesink location=filename.mp4 -e
  • 播放录像
gst-launch-1.0 filesrc location=filename.mp4 ! qtdemux ! queue ! h264parse ! nvv4l2decoder ! nvoverlaysink -e
  • 抓拍图片
gst-launch-1.0 v4l2src num-buffers=1 ! "video/x-raw,format=(string)UYVY, width=(int)1920, height=(int)1080" ! nvvidconv ! "video/x-raw(memory:NVMM),format=(string)I420" ! nvjpegenc ! filesink location=jpgname.jpg
Jetpack5.x系统上测试摄像头
  • 视频预览1080p
gst-launch-1.0 v4l2src device=/dev/video0 ! "video/x-raw,format=(string)UYVY,width=(int)1920, height=(int)1080" ! nvvidconv ! "video/x-raw(memory:NVMM),format=(string)NV12" ! nv3dsink -e
  • 视频录像1080p
gst-launch-1.0 v4l2src num-buffers=300 ! "video/x-raw,format=(string)UYVY, width=(int)1920, height=(int)1080" ! nvvidconv ! "video/x-raw(memory:NVMM),format=(string)NV12" ! nvv4l2h264enc control-rate=1 bitrate=10000000 ! h264parse ! qtmux ! filesink location=filename.mp4 -e
  • 抓拍图像
gst-launch-1.0 v4l2src num-buffers=1 ! "video/x-raw,format=(string)UYVY, width=(int)1920, height=(int)1080" ! nvvidconv ! "video/x-raw(memory:NVMM),format=(string)I420" ! nvjpegenc ! filesink location=jpgname.jpg

测试摄像头(v4l2-ctl)

  • 安装v4l2-utils
sudo apt-get install v4l-utils
  • 查看摄像头支持的数据格式
v4l2-ctl --list-formats-ext
  • 帧率统计
v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=UYVY--stream-mmap --stream-count=-1 --stream-to=/dev/null
  • 保存图片到文件
v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=UYVY --stream-mmap --stream-count=1 --stream-to=uyvy-1920x1080.yuv

测试摄像头(yavta)

  • 安装yavta
git clone https://github.com/veyeimaging/yavta.git
cd yavta
sudo make
  • 保存图片到文件
./yavta -c1 -FUYVY-1920x1080.yuv --skip 0 -f UYVY -s 1920x1080 /dev/video0

Opencv例程

相关链接

树莓派入门教程(新)
树莓派入门教程
树莓派OpenCV教程
树莓派littleGL系列教程
树莓派QT教程
树莓派OpenWrt教程


FAQ


技术支持


联系人:林工
EMAIL:3005425717@qq.com
电话:0755-83043099
QQ:3005425717
微信:扫下方二维码添加
Lzr.png

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证