野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1600|回复: 0

【鲁班猫创意大赛】鲁班猫移植motion进行移动侦测抓拍...

[复制链接]
发表于 2023-5-18 12:53:02 | 显示全部楼层 |阅读模式
本帖最后由 tom_green 于 2023-5-18 18:51 编辑


LubanCat-RK环境搭建

环境搭建可参考
在野火下载中心鲁班猫的对于云盘中,我们可以发现鲁班猫系列产品的系统映像非常完善,有安卓,Linux等系统映像,建议下载最新版本进行烧录,本人使用鲁班猫无线版,需要将系统烧录到TF卡中;其他带闪存的版本可使用瑞芯微官方下载工具进行烧写系统,详细内容请参考野火产品中心在线文档

登录LubanCat-RK系统一共有3种方式,USB登录鲁班猫终端登录,串口终端登录,SSH登录,并且通过局域网配置NFS网络文件系统后,可以将LubanCat-RK中的文件同步到电脑上来。

部署motion
motion的功能主要有移动侦测,移动抓拍,并且能通过局域网访问设备IP的8080端口,实时预览摄像头画面,能通过配置文件实现多种多样的功能,下面是尝试在鲁班猫设备是进行移植的过程。
安装motion
打开终端,输入以下指令先更新软件源
  1. sudo apt update
复制代码

安装motion
  1. sudo apt-get install motion
复制代码

USB摄像头先不插入USB摄像头,执行下列指令,之后插入USB摄像头,再执行一遍指令,可以看出插入USB摄像头后,多了video9,video10,所以video9,video10就是我们插入的USB摄像头设备,后续需要用到。(本人使用了USB摄像头)
  1. sudo ls /dev/video*
复制代码



执行指令后,可以看到USB上挂载的摄像头
  1. sudo lsusb
复制代码

capture_20230517165104903.jpg

mipi摄像头
LubanCat-RK系列板卡使用的摄像头接口是24pin mipi接口,目前适配了ov5648/ov8858摄像头,以及树莓派OV5647的摄像头(需要搭配转接板使用)


拍摄照片

  1. #拍摄照片
  2. sudo gst-launch-1.0 v4l2src num-buffers=1 device=/dev/video0 ! jpegenc ! filesink location=picture.jpg

  3. #picture.jpg就是拍摄出来的照片了
复制代码

拍摄视频

#拍摄视频
v4l2-ctl --verbose -d /dev/video0 --set-fmt-video=width=800,height=600,pixelformat='NV12' --stream-mmap=4 --set-selection=target=crop,flags=0,top=0,left=0,width=800,height=600 --stream-to=out.yuv
#播放视频
ffplay -f rawvideo -video_size 800x600 -pixel_format nv12 out.yuv
#out.yuv 便是拍摄出来的视频了




配置motion的各项参数
输入命令,使用vim编辑配置各项参数,修改motion的配置文件motion.confvim使用请参考vim编辑保存使用说明修改motion的配置文件:
  1. sudo vim /etc/motion/motion.conf
复制代码




设置为可后台运行


#Start in daemon (background) mode and release terminal (default: off)
daemon on
图片视频的本地保存位置

# Target directory for pictures, snapshots and movies
target_dir /var/lib/motion


所使用的摄像头终端,与上述实际使用的所对应

# Video device (e.g. /dev/video0) to be used for capturing.
videodevice /dev/video9


设置不仅仅连接到本地

# Restrict stream connections to localhost only (default: on)
stream_localhost off


图片的像素大小,和帧率


# Image width (pixels). Valid range: Camera dependent, default: 320

width 800

# Image height (pixels). Valid range: Camera dependent, default: 240

height 600

# Maximum number of frames to be captured per second.

# Valid range: 2-100. Default: 100 (almost no limit).

framerate 15


图片上水印的位置,以及格式

# Text to be overlayed in the lower left corner of images

text_left CAMERA1

# Text to be overlayed in the lower right corner of images.

text_right %Y-%m-%d\\n%T-%q


设置浏览器端口

# Port number used for the webcontrol.
webcontrol_port 8080


其他详细配置,可参考下表配置完毕后,记得保存并退出,然后重启motion,就可以正常运行了

#启动motion
sudo motion

#关闭motion
sudo killall -TERM motion



详细配置如下表所示:
选项
取值范围
默认值
说明
auto_brightnessValues: on,offoff让motion自动调节视频的的亮度,只适用于不带有自动亮度调节的摄像机
brightnessValues: 0-2550 (disabled)调整摄像机的亮度
saturationValues: 0 - 2550 (disabled)调整摄像机的颜色饱和度
hueValues: 0 - 2550 (disabled)调整摄像机的色调
contrastValues: 0-2550 (disabled)调整摄像机的对比度
daemonValues: on,offoff以守护进程在后台运行。这个选项只能放在motion.conf,不能放在
thread config file
emulate_motionValues: on, offoff即使没有运动物体也要保存图像
ffmpeg_output_moviesValues: on, offoff是否保存视频
ffmpeg_bpsValues: 0 - 9999999400000视频比特率
ffmpeg_variable_bitrateValues: 0, 2 - 310 (disabled)动态比特率,如果开启这个功能ffmpeg_bps将被忽略,0为关闭,2为最好质量,31为最差质量
ffmpeg_duplicate_framesValues: on, offon为了达到每秒的帧数要求,会复制一下帧填充空白时间,关掉这个功能后每个帧都紧接下一个帧,看起来像快进
ffmpeg_output_debug_moviesValues: on, offoff调试模式,只看到变化的图像
ffmpeg_video_codecValues: mpeg4, msmpeg4, swf, flv, ffv1, mov, ogg, mp4, mkv, hevcmpeg4视频格式
framerateValues: 2 - 100100 (no limit)帧速率,每秒多少帧
frequencyValues: 0 - 9999990 (Not set)频率协调 Hz(不清楚作用)
lightswitchValues: 0 - 1000 (disabled)忽略光照强度改变引起的变化
locate_motion_modeValues: on, off, previewoff给运动物体用方框标出
locate_motion_styleValues: box, redbox, cross, redcrossbox标记风格
max_movie_timeValues: 0 (infinite) - 21474836473600最大视频时间
minimum_frame_timeValues: 0 - 21474836470最小帧间隔,设置为0表示采用摄像头的帧率
minimum_motion_framesValues: 1 - 1000s1捕捉持续至少指定时间的运动帧
movie_filenameValues: Max 4095 characters%v-%Y%m%d%H%M%S视频的文件名
ffmpeg_timelapseValues: 0-21474836470 (disabled)间隔时间,拍摄延时视频
ffmpeg_timelapse_modeValues: hourly, daily, weekly-sunday, weekly-monday, monthly, manualdaily延时拍摄模式
timelapse_filenameValues: Max 4095 characters%v-%Y%m%d-timelapse延时拍摄的文件名
output_picturesValues: on,off,first,best,centeron是否保存图片和模式设置
output_debug_picturesValues: on,offoff图片调试模式,只输出运动物体
picture_filenameValues: Max 4095 characters%v-%Y%m%d%H%M%S-%q图片文件名
picture_typeValues: jpeg,ppmjpeg图片类型
post_captureValues: 0 - 21474836470 (disabled)运动在持续多少帧之后才被捕捉
pre_captureValues: 0 - 100s0 (disabled)输出图像包括捕捉到运动的前几秒
qualityValues: 1 - 10075jpg图像的质量
quietValues: on, offoff安静模式,检测到运动不输出哔
rotateValues: 0, 90, 180, 2700 (not rotated)旋转图像角度
stream_auth_methodValues: 0,1,20网页监控身份认证方法:0-无,1-基本,2-MD5
stream_authenticationValues: username:passwordNot defined网页监控用户名和密码
stream_limitValues: 0 - 21474836470 (unlimited)限制帧的数量
stream_localhostValues: on, offon是否只能本地访问网络摄像头
stream_maxrateValues: 1 - 1001限制网络摄像头帧速率
stream_portValues: 0 - 655350 (disabled)网络摄像头端口
stream_qualityValues: 1 - 10050网络摄像头传输质量
switchfilterValues: on, offoff过滤器开关,过滤器用来区分真正的运动和噪声
target_dirValues: Max 4095 charactersNot defined = current working
directory视频和图片的保存路径
videodeviceValues: Max 4095 characters/dev/video0摄像头设备名
heightValues: Device Dependent288图像高度,范围跟摄像机相关
widthValues: Device Dependent352图像宽度,范围跟摄像机相关
process_id_fileValues: Max 4095 charactersNot defined保存PID的文件,推荐/var/run/motion.pid
database_busy_timeoutValues: 0 … positive integer0数据库等待超时时间,毫秒
进行局域网展示图像
  1. #获取鲁班猫IP地址
  2. sudo  ifconfig
复制代码


可以看出鲁班猫的IP地址为:192.168.7.102,加入:8080,可在局域网下任一设备访问192.168.7.102:8080进行画面展示,抓拍的图像,保存在配置文件中设置的位置。
运行成功如下图:




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-3-28 19:15 , Processed in 0.045830 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表