1.一种基于FPGA的图像灰度直方统计和目标搜索方法,其特征在于:包括以下步骤:S1:图像输入缓存阶段,现场可编程门阵列FPGA将待处理图像的所有行数据分配到多个BRAM单元;S2:通道像素分发阶段,当待处理图像的所有行数据全部缓存到多个BRAM单元后,图像缓存模块控制多个BRAM单元将所有行数据输出到多个直方统计通道中;S3:窗口像素分发阶段,多个直方统计通道将所有行数据分发到多个像素窗口进行灰度统计,得到所有行数据中各像素点的像素灰度值;S4:直方统计阶段,每个像素窗口,分配一块RAM区域存储像素值的分布统计值,RAM的地址存放与地址索引相同灰度值的像素点出现的次数,每个像素窗口对应一个直方统计模块,各直方统计模块完成直方统计运算并使用实时计数器记录各自统计的灰度值最大的像素点得到第一像素点集合;S5:直方搜索阶段,比较第一像素点集合中像素点的灰度值得到最大灰度值像素点,根据最大灰度值像素点的像素坐标,得到灰度值最大的像素区域。
2.根据权利要求1所述的基于FPGA的图像灰度直方统计和目标搜索方法,其特征在于:所述的S1:图像输入缓存阶段,在接收待处理图像时,对待处理图像行进行计数得到行计数;用行计数除以BRAM单元能够容纳的行数得到BRAM单元索引;将待处理图像行的有效信号作为BRAM单元的写使能信号。
3.根据权利要求1所述的基于FPGA的图像灰度直方统计和目标搜索方法,其特征在于:所述的S2:通道像素分发阶段,直方统计通道的数量比BRAM单元的数量少一个;设BRAM单元有N个,直方统计通道有N-1个,第一个直方统计通道接收第一个BRAM单元和第二个BRAM单元传输的行数据;第二个直方统计通道接收第二个BRAM单元和第三个BRAM单元传输的行数据;第N-1个直方统计通道接收第N-1个BRAM单元和第N个BRAM单元传输的行数据;各BRAM单元输出的行数据数量相同;相邻两个BRAM单元输出行数据时间隔一个时钟周期。
4.根据权利要求1所述的基于FPGA的图像灰度直方统计和目标搜索方法,其特征在于:所述的S3:窗口像素分发阶段,将行数据中像素点的地址对行计数进行模运算得到像素点在其所在行数据中对应的索引,即像素点的列地址;在将所有行数据分发给像素窗口时,利用列地址来计算各像素点应该写入哪个像素窗口。
5.根据权利要求1所述的基于FPGA的图像灰度直方统计和目标搜索方法,其特征在于:所述的S4:直方统计阶段,直方统计模块内部包含一个RAM表,像素灰度值输入到RAM表的地址输入端,RAM表的读输出接口加1反馈连接到RAM表的写输入接口,当像素有效信号为高时,RAM表自动完成对应像素灰度值的统计结果自增一操作;直方统计模块内设置最大值变量和列地址变量,最大值变量和列地址变量的初始值为0,直方统计模块每完成一个像素点灰度值的统计,就将该像素点统计值与最大值变量比较,如果最大值变量小于该像素点统计值,则将该像素点统计值赋值给最大值变量,同时将该像素点的列地址写入列地址变量,进行最大值保持。
6.根据权利要求1所述的基于FPGA的图像灰度直方统计和目标搜索方法,其特征在于:每个直方统计通道内有多个像素窗口和一个实时计数器,每个直方统计通道的像素窗口数量相同。
7.一种基于FPGA的图像灰度直方统计和目标搜索系统,其特征在于:用于实现如权利要求1-6任一项所述的基于FPGA的图像灰度直方统计和目标搜索方法,包括:图像输入缓存模块,利用现场可编程门阵列FPGA将待处理图像的所有行数据分配到多个BRAM单元;通道像素分发模块,当待处理图像的所有行数据全部缓存到多个BRAM单元后,利用图像缓存模块控制多个BRAM单元将所有行数据输出到多个直方统计通道中;窗口像素分发模块,利用多个直方统计通道将所有行数据分发到多个像素窗口进行灰度统计,得到所有行数据中各像素点的像素灰度值;直方统计模块,给每个像素窗口,分配一块RAM区域存储像素值的分布统计值,RAM的地址存放与地址索引相同灰度值的像素点出现的次数,每个像素窗口对应一个直方统计模块,各直方统计模块完成直方统计运算并使用实时计数器记录各自统计的灰度值最大的像素点得到第一像素点集合;直方搜索模块,用于比较第一像素点集合中像素点的灰度值得到最大灰度值像素点,根据最大灰度值像素点的像素坐标,得到灰度值最大的像素区域。