提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

目录

文章目录

前言

一、相机的接线

二、驱动及环境安装

2.1树莓派上环境设置

2.2树莓派上内核安装

2.3安装MV_camera驱动

2.4相机驱动本地编译

 三、相机的采取与实时显示

3.1 相机的采取

 3.2图像的实时显示

四、总结

前言

本文章针对v4l2模式下的操作。

参考文档:

Mv series camera appnotes 4 rpi/zh

参考其VLC工具,实现对UYVY图像格式的实时显示

veye GitHub首页

树莓派内核编译

提示:以下是本篇文章正文内容,下面案例可供参考

一、相机的接线

 记住,外接树莓派gpio口5v电压。

 可参考此图,然后利用万用表测试在进行接线。mipi接口则千万别接反。

二、驱动及环境安装

2.1树莓派上环境设置

开启树莓派时,必须开启i2c功能,和关掉legacy模式。

sudo raspi-config

 然后在进入Interface Options,启用I2C,关闭legacy模式,在重启。

2.2树莓派上内核安装

可先不安装内核,如果2.3中报错,在执行此操作,命令如下:

sudo apt install git bc bison flex libssl-dev make

git clone --depth=1 https://github.com/raspberrypi/linux #下载默认分支的linux版本

cd linux

KERNEL=kernel8

make bcm2711_defconfig

CONFIG_LOCALVERSION="-v7l-MY_CUSTOM_KERNEL"

make -j4 Image.gz modules dtbs #这步时间很长,需耐心等待

sudo make modules_install

sudo cp arch/arm64/boot/dts/broadcom/*.dtb /boot/

sudo cp arch/arm64/boot/dts/overlays/*.dtb* /boot/overlays/

sudo cp arch/arm64/boot/dts/overlays/README /boot/overlays/

sudo cp arch/arm64/boot/Image.gz /boot/$KERNEL.img

sudo reboot

2.3安装MV_camera驱动

首先先下载驱动包 

wget https://github.com/veyeimaging/raspberrypi_v4l2/releases/latest/download/raspberrypi_v4l2.tgz

tar -xzvf raspberrypi_v4l2.tgz

cd raspberrypi_v4l2/release/

chmod +x *

 然后执行下面这个命令时,如果提示没有这个版本驱动在,则需自行安装驱动

sudo ./install_driver.sh veye_mvcam

自行驱动安装,需先安装本地内核, 参考2.2中树莓派内核安装

2.4相机驱动本地编译

我们需要在下面这个文件中进行操作。这里以你的内核为5.15.92为例。

sudo apt install git bc bison flex libssl-dev make #Prepare environment

sudo apt install raspberrypi-kernel-headers #Download the kernel headers for the local piOS

git clone https://github.com/veyeimaging/raspberrypi_v4l2.git #如果显示已有同样文件夹,可不执行

uname -a

cd ~/raspberrypi_v4l2/driver_source/cam_drv_src/rpi-5.15_all

make #生成ko文件

cd ~/raspberrypi_v4l2/driver_source/dts/rpi-5.15.y

./build_dtbo.sh #生成dtbo文件

 下面我们要把编译好的ko文件和dtbo放在raspberrypi_v4l2/release//driver_bin/$(uname -r)下,然后进行安装即可。

这里如果.sh脚本无法执行,可以执行如下命令

chmod u+x xxx.sh

 好了,开始下面正式操作,命令如下:

cd raspberrypi_v4l2/release/

mkdir driver_bin/$(uname -r)

将编译得到的驱动的驱动ko文件和dtbo放到此目录下。

然后执行安装命令即可:

chmod +x *

sudo ./install_driver.sh veye_mvcam #提示安装了驱动,按y确定重启

 提示界面如下:

 ok,重启以后,驱动安装成功了,我们可以执行如下命令,获得相机设备信息:

dmesg | grep mvcam

 显示,如上信息,说明安装已经成功,接下来安装v4l2的工具包:

#安装v4l2-utils

sudo apt-get install v4l-utils

#yavta安装

git clone git://git.ideasonboard.org/yavta.git

cd yavta;make

v4l2操作指南,参考如下链接 6.5--6.7

http://wiki.veye.cc/index.php/Mv_series_camera_appnotes_4_rpi/zh

 三、相机的采取与实时显示

3.1 相机的采取

这里介绍软触发采集,其它方式,参考以下链接6.5--6.7

Mv series camera appnotes 4 rpi/zh - wiki_veye

指令如下:

export WIDTH=1440

export HEIGHT=1088

export FPS=60

#设置ROI和帧率

v4l2-ctl --set-selection=target=crop,top=0,left=0,width=$WIDTH,height=$HEIGHT

v4l2-ctl --set-ctrl frame_rate=$FPS

#设置模式

v4l2-ctl --set-ctrl trigger_mode=1

v4l2-ctl --set-ctrl trigger_src=0

#开始取图,生成8位灰度图像,这里长宽要与设置ROI一致

v4l2-ctl --set-fmt-video=width=1440,height=1088,pixelformat=GREY --stream-mmap --stream-count=1 --stream-to=1.raw

#切记,再生成一个新的终端窗口,执行软触发,默认图片保存在当前路径

v4l2-ctl --set-ctrl soft_trgone=1

 下面提供一个脚本,可采集10张8位灰度raw图片,图片保存在桌面photos文件夹内。

操作如下: 

#创建.sh文件

touch test.sh

sudo nano test.sh

 将下面内容复制到shell文件中

#! /bin/bash

cd ~/Desktop

mkdir photos

cd photos

export WIDTH=1440

export HEIGHT=1088

export FPS=60

v4l2-ctl --set-selection=target=crop,top=0,left=0,width=$WIDTH,height=$HEIGHT

v4l2-ctl --set-ctrl frame_rate=$FPS

v4l2-ctl --set-ctrl trigger_mode=0

a=1

for((i=1;i<11;i++))

do

v4l2-ctl --set-fmt-video=width=1440,height=1088,pixelformat=GREY --stream-mmap --stream-count=1 --stream-to=$a.raw

let a=a+1

done

接下来执行如下命令: 

chmod u+x test.sh

./test.sh

 3.2图像的实时显示

这里需要借助如下这篇文档第6部分的知识,利用相机UYVY格式进行显示,链接如下:

V4L2 mode for Raspberry Pi/zh - wiki_veye

 操作如下,先配置ROI

export WIDTH=1440

export HEIGHT=1088

export FPS=60

v4l2-ctl --set-selection=target=crop,top=0,left=0,width=$WIDTH,height=$HEIGHT

v4l2-ctl --set-ctrl frame_rate=$FPS

在设置vlc 

命令行中输入vlc,进行如下图操作:

记住,这里仅需改变第5步,改成width=1440,height=1088。接着播放就可显示实时图像了。

四、总结

本文档实现了MV_MIPI_IMX296相机在64位树莓派上的采集,以及实时显示,建议大家多多参考以下链接文档。如有错误之处或者更好的方法,欢迎各位留言指教。

Mv series camera appnotes 4 rpi/zh

参考其VLC工具,实现对UYVY图像格式的实时显示

veye GitHub首页

树莓派内核编译

文章来源

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。