实施方案
[0014] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0015] 相反,本发明涵盖任何由权利要求定义的在本发明的精髓和范围上做的替代、修改、等效方法以及方案。进一步,为了使公众对本发明有更好的了解,在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。
[0016] 参见图1,为本发明实施例的本发明的技术方案为基于FPGA的线阵图像复合去彩边方法的步骤流程图,包括以下步骤:
[0017] S10:线阵相机传感器的排列方式为R、G、B,则以B行像素为基准,设定2个移位寄存器DataBuffer_R和DataBuffer_G,分别用来缓存颜色R行的像素和颜色G行的像素,其中R行像素缓存的行数为2n行,G行像素缓存的行数为1n行,n=1。缓存后同时输出的3行像素数据为R_CCD_in,G_CCD_in,B_CCD_in,每个通道像素的位宽为12位。
[0018] S20:如图2所示,设定3个RAM分别为CorrCoeff_R,CorrCoeff_G,CorrCoeff_B,用来保存RGB三种像素值的校正参数。假设每一行像素的处理为一整个周期,在第1时钟,分别读取三个RAM中地址为1的校正参数;在2时钟,将读取得到的3个校正参数分别乘上R_CCD_in,G_CCD_in,B_CCD_in,获得R_temp2,G_temp2,B_temp2;在3时钟,将R_temp2,G_temp2,B_temp2右移14位;在4时钟,将R_temp2,G_temp2,B_temp2赋值给R_Corr_out,G_Corr_out,B_Corr_out,此时同时输出3行错位复合后的RGB像素值。
[0019] S30:设定一个位宽为24位的寄存器clr_RGB,根据实际的12位像素数据采集情况,截取其中的4~11位像素数据,并将3个8位的像素数据整合为一个24位的数据clr_RGB,其中1~8位为B像素值,9~16为G像素值,17~24位为R像素值。
[0020] S40:将3r位的整合像素数据clr_RGB输入到去背景模块中,其中预先设定了R,G,B颜色值的上下范围,输出CMPout前景色为1,背景色为0。
[0021] S50:设定一个移位寄存器名为linebuffer,用来保存去背景后的像素CMPout,其中抽头的数量为5,输出分别为tap1,tap2,tap3,tap4,tap5,每个抽头之间的间隔为一行有效像素的数量,此处为2048个,则linebuffer中可以保存的像素数据个数为10240个。设定一个位宽为25的寄存器array,在每个时钟内,将linebuffer中输出的tap1,tap2,tap3,tap4,tap5分别赋值给array[20],array[15],array[10],array[5],array[0]。同时,将array寄存器中,除array[4],array[9],array[14],array[19],array[24]以外的值,均左移一位。其中,1~5位为第1行像素,6~10位为第2行像素,11~15位为第3行像素,16~20位为第4行像素,21~25位为第5行像素。
[0022] S60:将array中的每一位进行与操作,即array[0]&array[1]|array[2]&……&array[23]&array[24],将结果保存在寄存器di中并输出,即为最后得到的错位复合去彩边后的图像数据。
[0023] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。