【技术实现步骤摘要】
基于FPGA的线阵图像连通域面积快速标记统计方法
本专利技术属于工业机器视觉领域,涉及一种基于FPGA的线阵图像连通域面积快速标记统计方法。
技术介绍
目前,图像连通域面积计算方法一般只能在处理速度要求较低的场合下使用,缺乏一种能够高速实现的图像连通域面积计算方法。当前的方法一般由CPU来实现,由于其顺序执行的模式,对一幅图像的连通域标记和面积计算,需要较长的时间。而且,对于实时图像来说,使用传统方法来实现连通域面积计算,需要保存大量的像素数据,这不光大大提高了对存储器性能的要求,还严重拖慢了系统的运行速度。假如要在高速实时图像上运用,例如物料分选设备中,物料下落速度极快,明显难以达到高速实时性的要求。
技术实现思路
本专利技术针对现有技术的不足,提供了一种基于FPGA的线阵图像连通域面积快速标记统计的方法,这种方法可以应用在对图像处理速度要求很高的设备中,标记同一面积块的连通区域,可以实现面积块的区分,面积块面积的计算。并且,这种方法处理的像素是线阵相机采集的行像素,不需要保存大量的图像数据,而只需要保存两行像素,并保持像素不断更新,即可完成对图像连通域的快速标记和 ...
【技术保护点】
1.一种基于FPGA的线阵图像连通域面积快速标记统计方法,其特征在于,包括以下步骤:对当前像素、上边像素和左边像素进行保存和读取;对连通面积块进行标记和面积计算。
【技术特征摘要】
1.一种基于FPGA的线阵图像连通域面积快速标记统计方法,其特征在于,包括以下步骤:对当前像素、上边像素和左边像素进行保存和读取;对连通面积块进行标记和面积计算。2.根据权利要求1所述的方法,其特征在于,所述对当前像素、上边像素和左边像素进行保存和读取,具体包括以下步骤:设定比较器的输入为当前像素和背景像素,若当前像素为背景,则输出当前像素为0;若不为背景,则输出当前像素为1;设定一行像素数量为N,标志寄存器start_flag,像素计数器cnt,在I+1个时钟,第一个像素开始输入,start_flag产生一个高电平脉冲,像素计数器cnt开始计数;设定两个RAM分别为ram_clr_one和ram_clr_two,两个RAM轮流保存当前行像素和上一行像素,设定切换标志寄存器ram_change_flag来切换;当切换标志寄存器ram_change_flag为1时,当前行像素保存在ram_clr_one中,上一行像素保存在ram_clr_two中;当切换标志寄存器ram_change_flag为0时,当前行像素保存在ram_clr_two中,上一行像素保存在ram_clr_one中;当前行像素保存在ram_clr_one中,在I+n时钟输入像素clr_in,在I+n+1时钟保存在ram_clr_one中,地址为像素计数器cnt,读取cnt-1地址的数据,在I+n+2时钟得到当前像素data_now_in;在I+n+1时钟,读取ram_clr_two中地址为cnt-1的数据,在I+n+2时钟得到上边像素data_up_in;设定寄存器data_cnt_in,记录当前像素的序号,其中data_cnt_in=cnt-2;寄存I+n+1时钟的当前像素,作为I+n+2时钟的左边像素,记为data_left_in。3.根据权利要求2所述的方法,其特征在于,所述对连通面积块进行标记和面积计算,具体包括以下步骤:将所述输出的当前像素data_now_in,上边像素data_up_in,左边像素data_left_in,像素序号data_cnt_in寄存,在I+n+3时钟获得严格对齐的当前像素data_now,上边像素data_up_in,左边像素data_left,像素序号data_cnt;设定两个RAM分别为ram_label_one和ram_label_two,用来轮流保存当前行像素的标记值和上一行像素的标记值,设定切换标志寄存器ram_label_change_flag来切换;当切换标志寄存器ram_label_change_flag为1时,当前行标记保存在ram_label_one中,上一行标记保存在ram_label_two中;当切换标志寄存器ram_label_change_flag为0时,当前行标记保存在ram_label_two中,上一行标记保存在ram_label_one中;当前行标记保存在ram_label_one中,在I+n+3时钟确定当前标记label_now,并将label_now保存在ram_la...
【专利技术属性】
技术研发人员:黄继业,谢尚港,龚南飞,高明煜,何志伟,杨宇翔,李芸,
申请(专利权)人:杭州电子科技大学,
类型:发明
国别省市:浙江,33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。