首先,利用车牌图像数据库在Matlab上开发并验证了车牌识别算法,具有良好的识别率。然后使用简单的 Matlab 代码将车牌图像数据库转换为 .hex 文件,并将 .hex 文件加载到 FPGA 中进行测试。 Xilinx FPGA Spartan-6 车牌识别系统的示例代码(未给出完整代码)和详细测试环境如以下所示。

https://embed.notionlytics.com/wt/ZXlKd1lXZGxTV1FpT2lKbE1UUXpZV05qTlRJd1pUYzBNRFE0WVRka05qZ3laR1V5TWpSbE9ETTRPU0lzSW5kdmNtdHpjR0ZqWlZSeVlXTnJaWEpKWkNJNklsZHNTR2hsVEZSUFdXeHpaVmRhUW1ZNU1YQmxJbjA9

为了测试车牌识别系统,使用 Verilog 中的 $readmemh 从 .hex 文件中将车牌图像数据库读取到 FPGA 中。 然后,通过车牌识别系统处理数据库。车牌号被识别并显示在单个 LED 上。

图像存储器: 存储10个图像并将其转换为.dat格式(gray data)。我们使用$ readmemh 命令,通过读取.dat文件中的gray data来初始化内存。将10个图像转换为Gray格式,并使用Matlab写入.dat文件。

车牌识别识别核心:使用 FPGA上的开关作为“启动”信号来触发此核心工作并输出车牌号。

监视LED :当“完成”信号处于上升沿时,该模块会定期显示车牌号。

用于测试车牌识别系统的顶层Verilog代码:

车牌识别系统的Verilog代码:

Matlab识别结果: