sdram_ov5640_lcd图像捕获&传输&存储思路

车牌识别总体思路

目前存在的车牌识别方法有:

  • 基于纹理特征分析的识别方法
  • 基于形态特征的识别方法
  • 基于小波分析的识别方法和基于图像彩色信息的识别方法等等

车牌的识别分为五个步骤:

  1. 车牌图像的捕获、传输、存储;
    需要把 OV5640 的 1024*720 像数大小的视频图像输出到 VGA 显示器上显示,程序上电后先对 OV5640 的寄存器进行设置,再采集摄像头的图像存储到 SDRAM 中,再从 SDRAM 中取出图像数据显示到;
    sdram_ov5640_lcd图像捕获&传输&存储思路_第1张图片

  2. 对车牌图像进行预处理,将采集到的车牌图像进行灰度化处理、边缘检测以及腐蚀膨胀操作;

  3. 车牌定位,对处理后的车牌图像进行扫描和列扫描,确定车牌的上下左右边界,最终定位出车牌;

  4. 车牌识别,采用字符特征的方法进行识别。

  5. 语音播报,选用Y3-M3模块进行语音播报模块

共将车牌定位系统分为三个子模块:

  1. 实时图像采集模块(摄像头)
  2. 存储模块(SDRAM)
  3. 图像预处理&识别模块
  4. VGA显示模块

在图像采集模块中介绍了IIC总线的设置及OV5640摄像头寄存器的配置

在存储模块中介绍了SDRAM的操作是时序和操作命令

预处理&识别模块

然后是VGA显示和整个系统的FPGA控制程序

RGB转Ycbcr操作
sobel边缘检测
腐蚀膨胀降噪操作
水平垂直投影操作
多字符识别
送入VGA显示模块
原始图像
灰度化图像
二值化图像
腐蚀膨胀图像
字符分割图像
字符识别
字符显示

显示的例程包含:

一个顶层模块 sdram_ov5640_vga.v

一个上电等待程序 power_on_delay.v

一个寄存其配置程序 reg_config.v

一个摄像头数 据 采 集 程 序 CMOS_Capture.v

一 个 VGA 显 示 和 SDRAM 控 制 程 序一个系统控制模块 system_ctrl.v

sdram_ov5640_lcd图像捕获&传输&存储思路_第2张图片
sdram_ov5640_lcd图像捕获&传输&存储思路_第3张图片
OV5640 的视频输出接口共有10位,D[9:0]。当输出为10-bit RGB raw格式时,使用D[9:0]。当输出格式为8-bit YCbCr或8-bit RGB raw 和 8-bit RGB 565 时, 使用 D[9:2]。同步信号Href和Hsync使用同一引脚 Href。通过I2C设置可选择此引脚为Href或Hsync信号。SIO_C 以及 SIO_D 总线需外接上拉电阻,标准上拉电阻阻值为5.1K欧姆。RESETB引脚低有效,且内置上拉电阻。RESETB引脚需由后端芯片控制以得到合适的上电时序。PWDN引脚高有效,且内置下拉电阻。PWDN 引脚需由后端芯片控制以得到合适的上电时序。Ov5640有时序要求,如图所示
sdram_ov5640_lcd图像捕获&传输&存储思路_第4张图片
t0:≥0毫秒,从DOVDD 到 AVDD 。
t2:≥5毫秒, 从 AVDD 到传感器上电。
t3:≥1毫秒, 摄像头上电到 ResetB 拉高。
t4:≥20毫秒, ResetB到 SCCB 初始化。

感光矩阵:光信号在这里转化为电信号,经过各种处理后,这些电信号会转化为数字信号,然后存储成由一个个像素点表示的数字图像。
控制信号及时钟:控制PWD、RESET两个信号按上电时序要求变化,进而完成寄存器的配置。PCLK、HREF及VSYNC分别是像素同步时钟、行同步信号和帧同步信号,XCLK是外部时钟,由FPGA中的锁相环产生,而PCLK是OV5640输出数据时的同步时钟。

在工程sdbank_switch.v程序中,当检测到bank_valid的下降沿,说明一帧图像采集完成,程序等待图像是否全部写入SDRAM中,是的话写入SDRAM的Bank地址交换,如果是Bank0,则切换到Bank3;如果是Bank3,则切换到Bank0。另外等待整幅图像是否全部从SDRAM读出,是的话读出的SDRAM的Bank地址也交换。SDRAM读写Bank交换的同时,产生一个rload和rdload信号去分别复位SDRAM的读写地址和读写FIFO,完成乒乓操作

你可能感兴趣的:(车牌识别,fpga)