首页 > 其他分享 >福州大学第19届206智能车队摄像头培训 三、帧率和快门时间

福州大学第19届206智能车队摄像头培训 三、帧率和快门时间

时间:2024-09-03 10:16:27浏览次数:5  
标签:一帧 206 19 快门 CPU0 循环 福州大学 CCD 摄像头

原文于2023.10.25发布于本人CSDN主页,现同步至cnblogs

1.摄像头帧率

某天看了学弟学妹们练习PID编写的程序,为了降低串口通信的频率在int main() while(1)内用了delay函数。实际上在未来实际应用中是不可取的。

在平时的单片机工程中,delay函数只会暂停主函数中的程序,不会影响定时器。需要循环执行的任务只需丢进设定好周期的定时器中断即可。

但在逐飞的开源库中,CPU0主循环中是这么个东西:

if(mt9v03x_finish_flag)
{
//循环执行的代码
    mt9v03x_finish_flag = 0;
}

显然,需要等待每次CPU0主循环结束后,摄像头才会采集下一帧图像。这样的合理性在于:图像处理运算时间长、同时也是智能车控制的核心内容,只要将图像处理的内容写在CPU0主循环中,即可实现一帧图像只识别一次,且一次识别中不会采集下一帧图像(图像数组变动)。这样就最大限度提高了摄像头的工作效率。

不建议使用较长时间delay的原因也在于此:在delay的时间内,定时器中断服务中的电机还在使能,主函数中的摄像头采集与处理却呆住了,车就容易跑飞。

由上所述,此时图像处理的帧率就取决于硬件上限、配置参数上限,以及CPU0主循环中程序消耗的时间(忽略CPU0的中断服务耗时)。

现在需要测量帧率,有这么几种办法:
(1)逐飞库函数

void system_start (void)
uint32 system_getval (void)

(2)CPU0主循环每进行一次,翻转一路io,将该路io接上示波器,即可测出帧率。
(3)没有条件使用示波器或者硬件设计没有引出多余io的时候,CPU0主循环每进行几次,翻转一次最小系统板载LED灯的io。通过LED灯闪动的频率,就可以计算出摄像头的帧率。

2.电子快门与信号

MT9V03X作为智能车竞赛使用的主流摄像头CMOS(逐飞科技总钻风、龙邱科技神眼、呆萌侠电子虎眼),优势在于其全局快门( Global Shutter)功能。对比传统卷帘快门(如OpenMV中常见的OV7725)的逐行曝光模式,全局快门可以避免智能车在高速移动下图像产生的果冻效应。
全局快门原理示意图
全局快门原理示意图

卷帘快门示意图
卷帘快门原理示意图

果冻效应示意图
果冻效应示意图

全局快门的缺点在于,在同为CMOS电路前提下,其帧率上限低于卷帘快门(卷帘快门逐行读取而不是等待整幅图像曝光完成后读出,每行读出之间的时间延迟很小,每个单独行能够在完成前一帧的读出后开始下一帧的曝光,所以最大化帧速率)。同时,额外的采样保持单元引入了新的噪音源;负责将光学模拟信号转换为数字信号的A/D转换器需要同时处理更多的像素;同时曝光的相邻行像素点干扰增多,上述这些缺陷造成了噪点增多,信号易失真的问题。

在没有条件改变摄像头电路与快门方式的情况下,应该避免使用冗长的连接排线,摄像头转接板针脚保持洁净无腐蚀,PCB设计应考虑信号抗干扰、且尽量避免与其他模块共Vcc。

顺带一提,19届智能汽车摄像头组中鼓励使用线性CCD,因为CCD型感光元件相比CMOS型通常均为全局快门,CCD的最终帧速率受到单个像素数字化传输的速率的限制,传感器中传输的像素越多,相机的总帧速率就越慢。而线性CCD只有一行像素,可以实现极高的帧率。

附:MT9V034技术文档下载地址

Onsemi MT9V034

标签:一帧,206,19,快门,CPU0,循环,福州大学,CCD,摄像头
From: https://www.cnblogs.com/DiscreteWind/p/18394041

相关文章

  • 福州大学第19届206智能车队摄像头培训 二、差比和
    原文于2023.10.25发布于本人CSDN主页,现同步至cnblogs1 普通二值化的缺点当场地光线不均时,基础的固定阈值二值化无法适应光线的变化。此外,对大量与道路无关的像素点进行二值化处理会造成算力的浪费。2 使用差比和对于MT9V03X拍摄的画面,其由0-255级灰度的像素点组成。二值化的思......
  • 福州大学第19届206智能车队摄像头培训 一、MT9V03X使用
    原文于2023.10.23发布于本人CSDN账号,现同步至博客园1 选择合适的镜头与摄像头安装方式镜头焦距:上图为16mm等效焦距镜头(110°视场角)画面,下图为25mm等效焦距镜头(75°视场角)画面。镜头的视场角越大,可看见的道路范围越大,但画面中也会产生更多的干扰。镜头的视场角越小,画面干扰......
  • 洛谷 P4819 杀人游戏
    洛谷P4819杀人游戏题意有\(n\)个人,他们之中有一个杀手。每个人都有可能是杀手,并且概率相等。你可以询问若干人。若询问的人是杀手,你会被干掉。若询问的人是平民,你会知道他认识的所有人的身份。给出一张有向图表示这\(n\)个人的关系。求出你活着知道杀手是谁的概率。......
  • 力扣第198题 打家劫舍
    前言记录一下刷题历程力扣第198题打家劫舍打家劫舍原题目:你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个......
  • CF 1994 C. Hungry Games (*1600) 思维+二分
    CF1994C.HungryGames(*1600)思维+二分题目链接题意:给你一个长度为\(n\)的关卡,和一个正整数\(x\),初始分数为\(0\),通过每个关卡就会获得对应的分数。但是分数如果超过\(x\),就会清零。现在让你求出满足最终得分不为零的所有子区间数量。思路:正难则反,改求最终得分为......
  • CF1948D
    CF1948D链接:Problem-1948D-Codeforces题目大意:给你一个字符串,字符串由小写字母和?组成,?可以变成任何数,问你重复子字符串的最大长度定义重复子字符串为,任意i都满足s[i]=s[i+len]的子字符串思路:枚举长度,然后对于每个长度,写一个f表表示是否可以喝i+len处对......
  • 【办公类-19-01-04】统计孩子中2班名字的同音字(读音、汉字)
    背景需求:开学第一天,听搭档和阿姨叫孩子的名字,感觉孩子中间有很多同音字。为了更好的掌握重复率,我用以前做的几个代码,再次检索班级幼儿的姓氏字同字率、姓氏字同音率,名字同字率、名字同音率。【办公类-19-01-03】办公中的思考——Python,统计孩子名字的同音字(拼音)_python......
  • 《黑神话:悟空》193+MOD整合包,画质、性能、武器、人物替换、CT表、存档等
    全网收集整理了如下整合包内容,包含《黑神话:悟空》全成就解锁存档锐化补丁、低性能卡顿、画质补丁Xbox手柄图标替换为NsPro图标物品掉落MOD大地图MOD等。下载地址:点击进入如图所示: 以下应该是全网最全《黑神话:悟空》MOD了,一个99+,我罗列一下吧荒野大镖客2斧头替换金......
  • CF1998E2 Eliminating Balls With Merging (Hard Version)
    原题链接考虑对于每个\(i\),算出向左扩展到\(1\)时向右至少和至多扩展到哪里,记为\(minr\)和\(maxr\)。那么也就是说每个\(i\)会对\(minr\simmaxr\)做出贡献,差分一下就可以了。重点是怎么计算这两个东西。先说\(maxr\)。如果暴力跳,过程是:先向左扩展直到不能扩展,然后......
  • 【Oracle点滴积累】Oracle 19c安装Critical Patch Update for January 2024
    广告位招租!知识无价,人有情,无偿分享知识,希望本条信息对你有用!今天和大家分享如何为Oracle19c(未启用RMAN的单实例)安装CriticalPatchUpdate(PatchNumber:35943157),本指引不包含RollBack部分,本文仅供参考,谢谢!cd/home/oracle/NewVersion_Opatch/OPatch/./opatchversio......