保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

一种用CPLD实现视频信号运动检测的方法


,用寄存器保存用于比较的数据的上限和下限;另一方面从SRAM读入对应数据存入寄存器data_sram_reg,这两个操作为比较数据做好准备。threshold是一个阈值,这里取16,当前后两次抽样差值超过threshold时就认为这两个抽样数据是不等的。在输入数据接近0或者255的时候,需要做特殊处理,避免整型数溢出,影响比较结果。

compare_data?process?spclk2?valid?compare_field?

begin

if?spclk2'event and spclk2=‘0’?then

if?compare_field=‘0’?then

pixels<=“0000000000”?

elsif?valid='1'?then

if?data_sram_reg<=data_reg1 or data_sram_reg>=data_reg2?then

pixels<=pixels+1?

end if?

end if?

end if?

end process?

compare_data进程在抽样的间隔(输入为色度分量Cr或者Cb时)对前后两次抽样的数据进行比较,如果比较结果超过允许值,计数器pixels加1,否则不加。

motion_detect?process?pixels?

begin

if?pixels>max_pixels?then

int0<=‘1’?

else

int0<=‘0’?

end if?

end process?

max_pixels是一个阈值,表示一帧数据中允许出现的不相等抽样数据的最大数目,当计数器pixels超过max_pixels时,就认为检测到了物体运动,CPLD将int0输出管脚置高,向处理器请求中断。这里max_pi

xels取600,它可以根据需要设置适当的值。

当CCD摄像头前有物体晃动时,CPLD的int0管脚会连续产生高电平脉冲,这说明运动检测模块已经正常工作起来,同时另一路视频信号经过W99682处理后输送到电视屏幕上,以便观察运动的场景。如果晃动摄像头本身,只要微小的晃动就可以看到类似的效果,因此用这种CPLD实现运动检测是可行的。

事实上,还可以利用同样的原理对CMOS摄像头的输入信号进行运动检测。

当然这种检测方法本身也有不足之处,最主要的一点是实际检测到的只是摄像头前光线亮度的变化,不能智能地判断引起这种变化的原因,也不能判别运动物体的形状。另一方面,从实验结果来看,有时候会出现误判;当运动物体离摄像头比较远时,检测的灵敏度也会降低,出现漏判。误判和漏判是一对矛盾,在实际应用中需要根据实际情况反复调试,选出最佳的阈值,减少这两种情况的发生。

《一种用CPLD实现视频信号运动检测的方法(第4页)》
本文链接地址:http://www.oyaya.net/fanwen/view/145722.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。