本文主要是介绍STM32项目分享:车牌号识别系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
一、前言
二、项目简介
1.功能详解
2.主要器件
三、原理图设计
四、PCB硬件设计
1.PCB图
2.PCB板打样焊接图
五、程序设计
六、实验效果
七、资料内容
项目分享
一、前言
项目成品图片:
哔哩哔哩视频链接:
https://www.bilibili.com/video/BV1AJ4m1j7js/?share_source=copy_web&vd_source=097fdeaf6b6ecfed8a9ff7119c32faf2
(资料分享见文末)
二、项目简介
1.功能详解
基于STM32的车牌号识别系统。功能如下:
- 摄像头识别:OV7670摄像头获取图像数据
- 屏幕显示:通过摄像头采集图像,并实时驱动TFT液晶屏显示相应图像。
- 车牌号识别:单片机通过模式识别、匹配车牌的识别结果,并在屏幕上进行显示。
- 图像识别算法:识别主要过程包括图像采集、二值化分析、识别车牌区域、字符分割、字符匹配五个过程。
- 蜂鸣器报警:车牌锁定后会有蜂鸣器提醒,在分析获取到车牌后对车停留时间进行计时,并进行计费。
- 按键控制:在图像采集界面,通过按键可以进入后台计费界面。在车牌识别后进入计费界面,可以通过按键退出计费界面,回到图像采集界面。
2.主要器件
- STM32F103C8T6最小系统板
- 2.8寸TFT显示屏
- OV7670摄像头模块
- 蜂鸣器
三、原理图设计
四、PCB硬件设计
1.PCB图
2.PCB板打样焊接图
五、程序设计
int main(void)
{ unsigned int num=0;Stm32_Clock_Init(16);//初始化时钟Led_init(); //初始化 LED Lcd_Gpio_Init();FSR_IO_Init();HW_GPIO_Init();LCD_Init(); SERVO_Init();Key_init(); //初始化 KEY1 PA8OV7670_Gpio_Init();//OV7670引脚初始化,放在串口初始化前面GPIO_WriteBit(FIFO_OE_PORT, FIFO_OE_PIN, 0);USART1_init();//初始化串口 printf("Test start\r\n");TIM3_Configuration();//10Khz的计数频率,计数到5000为500ms LCD_Fill(0x6666); printf("Welecom\r\n");while(!Sensor_init());LCD_Fill(0x0000);delayms(100);num=2;//二值化阈值 R_a=24;G_a=53;B_a=24;while(1){if(FSR_Scan(1) == 0 && HW_Scan(1) == 0){state = 1;} if(state == 1){printf("进入车牌识别模式\r\n");if(num<=1){Data_LCD_ColorChange();//车牌测定}if(num>1){Data_LCD_ColorChange_Test();//摄像头扫描测试LCD_ShowNum(30,220,21-num,2);//while(GPIO_ReadInputDataBit(KEY1_PORT,KEY1_PIN)==0){servo_ctrl(0); LCD_Fill(0x00);//黑屏Show_Title();//显示标题Show_Card(0);//显示第几组车牌Show_Card(1);Show_Card(2);Show_Card(3);Show_Card(4);delay_ms(5000); servo_ctrl(1); }}if(num==20){num=0;}num++; } delay_ms(200);}
}
六、实验效果
七、资料内容
项目分享
这篇关于STM32项目分享:车牌号识别系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!