999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MATLAB與單片機的串行通信方式下的車牌智能識別系統設計與分析

2024-04-01 11:21:38李自成
技術與市場 2024年3期
關鍵詞:單片機

蒲 浩,李自成

成都理工大學工程技術學院,四川 樂山 614000

0 引言

車牌智能識別系統是一種利用計算機視覺和模式識別技術,能夠自動識別車輛車牌號碼的系統。隨著交通管理和車輛監控的需求不斷增加,車牌智能識別系統在實際應用中發揮著重要的作用。但目前國內車牌智能識別系統存在制造成本高、識別效率低等問題。基于此,本文設計了一種高效、準確的車牌智能識別系統。為實現車牌的高效識別傳輸,該系統選擇了MATLAB與單片機串行通信方式。MATLAB可通過串行通信與單片機進行數據的雙向交互,實現數據的傳輸和控制;MATLAB同時具有強大的數據處理能力,可對從單片機接收到的數據進行實時處理、分析和可視化。單片機相比于其他采集芯片具有體型小巧、價格便宜、性能可靠等優點,同時具有快速的響應速度和較好的實時性,因此,采用單片機進行串行通信既可高效地完成采集任務,又能大大節約成本。本文設計的系統具有較高的識別率和實時性能,可在交通管理和車輛監控領域發揮重要作用。

1 系統總體設計

本文設計的車牌智能識別系統主要包括車牌圖像采集、圖像預處理、字符分割、字符識別和結果顯示等模塊。其中,車牌圖像采集模塊主要由單片機完成從攝像獲取車牌圖像,單片機可較好地控制攝像頭進行圖像采集并通過串行通信接口傳輸給PC機;圖像預處理模塊對圖像進行灰度化、圖像增強等操作;字符分割模塊將車牌圖像分割成單個字符;字符識別模塊利用模板匹配法對字符進行識別;結果顯示模塊將識別結果顯示出來。

該系統的設計架構包括使用AT89C51單片機作為下位機,通過PC機作為上位機實現實時車牌數據的采集與分析處理。在MATLAB環境中,可通過如圖1所示的結構來實現PC機與單片機之間的串行通信。

圖1 基于MATLAB環境下串行通信的實時數據采集處理系統結構

為解決PC機串口與單片機串口由于使用的工作電氣規范不一致而無法直接進行串行通信工作的問題,使用MAX-485電平轉換芯片將RS485串行接口與單片機輸入與輸出串口進行電平轉換連接。相較于RS-232芯片,RS485芯片具有更好的兼容性和更快的數據傳輸速度(10 Mbit/s),并且能夠抵御共模噪聲的干擾。在系統運行時,為進行對PC機串行口的讀寫操作,MATLAB會通過調用設備控制工具箱中的serial類及相關函數,創建一個串口設備對象,獲取設備的文件句柄,并以文件操作方式進行操作[1-2]。

根據以上分析可知,PC機通過MATLAB向串行口發送指令,AT89C51單片機會對此作出反應,并將A/D采樣分析數據通過串行口回送。MATLAB對車牌數據進行了讀取、預處理、車牌定位、字符分割、字符識別以及車牌識別等操作后,通過中斷的方式實時發送經PC機分析的車牌數據,然后通過AT89C51單片機實時接收并顯示車牌號碼。

2 單片機與PC機串行通信設計

2.1 51單片機與PC機串行通信接口硬件設計

AT89C51單片機采用中斷方式下的全雙工形式進行異步串行通信,51單片機的串行通信接口有2個外部引腳分別為-P3.0/RXD(串行口輸入引腳)和P3.1/TXD(串行口輸出引腳),引腳信號電平為TTL電平(0~5 V),而現代PC機的引腳電平為RS232電平(-12~12 V)[3],因此通信中需要采用RS232標準接口進行電平轉換。但由于RS232接口存在傳輸速率慢、距離近等不足,故該設計系統采用RS485標準接口,它所提供的數據傳輸速率高達10 Mb/s,通信數據傳輸距離高達1 200 m,是一種十分經濟,并具有噪聲抑制率高、傳輸速率快、傳輸距離長特點的通信平臺。在硬件電路中,單片機與PC機應實現直接通信還需要選用MAX485電平轉換芯片來實現雙機通信。將MAX485經轉換電平后的11引腳(輸入)接到單片機發送數據串口TXD端,其14引腳(輸出)接到單片受數據串口RXD端。PC機與單片機通信連接結構如圖2所示。

圖2 PC機與單片機通信連接結構

2.2 51單片機與PC機串行通信接口軟件設計

2.2.1 MATLAB串行通信程序設計

1)在MATLAB環境下,進行下位機單片機的串口數據讀取的方法有查詢方式和中斷方式2種。①查詢方式是使用串口對象的read函數進行查詢。首先創建1個串口對象,然后使用fopen函數打開串口連接,接下來使用read函數讀取指定數量的數據。查詢方式是一種主動讀取數據的方式,需要不斷地調用read函數來獲取數據,無法對下位機所采集到的數據進行實時處理。②中斷方式是使用串口對象的回調函數進行中斷讀取:首先創建一個串口對象,然后使用fopen函數打開串口連接,將回調函數與串口對象關聯,當有數據到達時,自動調用回調函數來讀取數據。中斷方式是一種被動讀取數據的方式,當有數據到達時會立刻進行讀取。

為能夠快速地實時進行數據傳輸,本文設計的系統采用的讀取方式為中斷方式,這樣可實時處理下位機發送的數據信息。

2)為實現PC機與單片機進行串行通信,除了確定通信方式外還應設置通信協議,在MATLAB中,可使用串口通信工具箱通信:首先創建1個串口對象,然后設置好串口的屬性值(端口號、波特率等參數),接著使用串口對象的函數發送和接受數據[4]。

MATLAB串口通信主要編程程序如下。

s=serial(‘COM1’); %創建串口對象

set(s,’BaudRate’,9600); %設置其屬性值

fopen(s); %連接設備

fprintf(s,’*IDN?’); %讀/寫操作

out=fscanf(s);%讀取數據,然后格式化為文本

fclose(s) %斷開連接

delete(s) %清理內存中串口對象

clear s %清除MATLAB工作空間串口對象

2.2.2 51單片機串行通信程序設計

在單片機端,需要編寫相應的串行通信程序。將單片機控制的攝像頭捕獲到的車牌圖像經過圖像數據轉換后,通過UART(異步通信)串口傳輸給PC機。系統根據選擇的通信方式和協議,在單片機的代碼中配置串口相關的寄存器和參數,將捕獲的車牌數據轉換為圖像數據,然后通過串口將圖像數據發送給MATLAB以實現通信。單片機進行數據傳輸的通信過程如下。

1)通信雙方均使用9 600 bit/s的高速率傳送數據,使用主從式通信,PC機為主動發送數據,單片機為被動接受數據,雙方在發送和接收數據時使用中斷方式。

2)雙機開始通信時,打開串口,主機向串口發送發射數據信號,然后通信串口向單片機串口發送數據。

3)從機在接收完數據指令后向串口發送車牌圖像數據。

4)PC機接收到單片機發送的圖像數據后對接收到的車牌數據進行處理分析。

5)最終顯示出車牌號碼。單片機串口通信部分程序如下。

#include〈reg52.h〉

void main(){

Serial begin(9600);//設置本地串口波特率為9600

Serial begin(9600);//設置外部串口波特率為9600}

void loop(){

//捕獲車牌圖像并轉換為圖像數據

//將圖像壓縮為適當格式(PNG)

const int imgeaSize=sizeof(‘r9888.png’);//定義圖片數據大小

sendlmage(‘r9888.png’);//發送圖片數據到PC機

delay(5);//延時5 ms方便MATLAB讀取數據}

void sendImage(){//發送圖片數據循環程序

for (int i=0;i

}

3 圖像處理軟件系統設計

3.1 識別系統的總體設計

智能車牌識別系統可利用圖像處理、模式識別等技術自動完成對車牌號碼的識別、跟蹤與定位。它通過攝像頭拍攝車牌圖像,利用先進的圖像處理技術和模式識別算法,自動進行車牌信息的提取和輸出顯示。在軟件模塊設計中,本文采用MATLAB軟件來進行分析研究設計。車牌自動識別的設計具體流程如圖3所示。

圖3 車輛自動識別流程

3.2 車牌圖像預處理

從攝像頭識別的車牌圖像中進行車牌識別是一個重要的環節。為準確識別車牌,需要先進行圖像預處理,以提升圖像質量并提取有用信息。圖像預處理是指在識別圖像之前,需要執行圖像轉換為灰度圖像、去除圖像中的噪聲、增強圖像的質量和檢測圖像的邊緣等步驟。這些步驟可為后續的車牌字符定位與分割打下基礎。

3.2.1 圖像灰度化

單片機攝像設備采集到的車牌圖像照片大部分均為RGB類型的彩色圖像。而彩色圖像的處理通常更加復雜,因為它需要用3個值(紅色、綠色、藍色)來表示每個像素顏色,所占儲存空間也更大。為加快圖像處理速度并減少存儲空間,車牌識別前需要對車牌進行灰度化單色處理,這樣可更準確地提取車牌號碼特征。灰度圖像一般呈現出黑色與白色間多種級別的顏色深度,比人眼識別的顏色范圍更廣,所以,使用灰度圖像可更準確地識別車牌信息。

本文系統通過使用MATLAB中的rgb2gray函數來實現灰度轉化處理,調用方式為X=rgb2gray(RGB)。實現關鍵代碼如下。

RGB=imread(‘r9888.png’);%讀取車牌圖像

X=rgb2gray(RGB); %車牌灰度化

subolt(2.2.1);

imshow(X); %顯示圖像

但無論活到哪個程度,只能是你自己。自己才是唯一的,是拯救的主力,也是悲憫眾生的主體。早年錯誤而榮幸地喜歡上了寫東西。是的,我一直不敢自稱作家詩人,只能說自己是寫東西的。因為我知道,天才已經在我們中間成批降臨,相對于天才,類似我這樣的寫東西的,只能說是湊熱鬧而已。好在,到了這個年齡,一切都看開了。再說,文學之道,在于推陳出新,再好的作家詩人,也不可能壟斷、興盛一輩子。一個凡庸的寫東西的人,好好做自己,寫自己的,不斷覺悟,寬闊,自覺,就已經足夠了。

3.2.2 圖像增強

圖像進行灰度處理后,常常無法得到理想的灰度值,導致圖像細節不夠清晰、畫面模糊,這給提取車牌邊緣特征增加了困難,因此需要對圖像進行增強處理,以增加對比度,使車牌號中的字符更加清晰可見。

在系統設計中,通過采用直方圖修正技術-直方圖均衡化,從而提高圖像對比度和亮度分布。通過調用X1=histeq(X)函數對圖像的直方圖進行修正,使像素數值的分布更加均勻,因而增強了圖像的視覺效果,改善了字符的清晰度。

為提高車牌識別的準確性,系統設計中采用圖像膨脹的方法來填補由于遮擋導致車牌號碼斷裂的空隙,以便更容易、準確地識別出車牌號碼。該系統使用imdilate函數對圖像進行膨脹操作。經過膨脹過后的車牌號碼對比度將更高,這時還需要對車牌進行腐蝕處理,調用imclose函數使其他不屬于車牌區域的事物灰度值降低,再設置不同灰度閾值將不屬于車牌區域圖像進行移除處理。

3.2.3 邊緣檢測

為準確地定位和識別車牌字符,須先進行圖像邊緣檢測處理。邊緣檢測可大大減少與車牌號碼無關的信息量,并減少噪聲,保護圖像的重要結構屬性,從而簡化車牌信息,提高圖像質量,便于定位車牌區域并進行字符識別。邊緣檢測方法是最常用于檢測灰度級之間不連續的方法,目前,邊緣檢測的主要方法是基于亮度不連續性的檢測,可通過使用一階和二階導數邊緣檢測算子來實現。

實現關鍵代碼如下。

X3=edge(X2,’canny’,thresh,sigma);% Canny邊緣檢測

subplot(2.1.1);

imshow(X3); %圖像輸出效果圖

title(‘邊緣檢測圖像)

3.3 車牌定位與分割

3.3.1 車牌定位

對車牌圖像進行一系列預處理操作后,車牌區域已變得十分明顯。此時,只需要使用圖形的形態處理方法來確定車牌區域的大致范圍,并通過形態學操作灰度開運算來準確定位。灰度開運算的步驟為先進行灰度腐蝕,然后進行灰度膨脹。根據開運算處理后的結果,在圖像的特定區域內出現了明顯的灰度變化,可通過設定適當的閾值來確定車牌的準確位置,并將其分割出來。

實現關鍵代碼如下。

se=str(‘rectangle’,[5,10]); %定義一個矩形結構元素

X4=imdilate(X3,se); %膨脹操作

X5=imfill(X4,’holes’); %t填充孔洞

X6=bwareaopen(X5,500); %去除小于500像素的區域

props=regionprops(X6,’BoundingBox’); %使用區域props進行車牌區域識別

boundingBoxes=[props,BoundingBox]; %在原始圖像中繪制車牌區域

figure;imshow(X1);hold;

for i=1:length(boundingBoxes)/4

rectangle(‘position’,boundingBoxes(4×i-3:4×i),’EdgeColor’,’r’,’Linewidth’,2);

end

hold off;

title(‘車牌定位結果’)

3.3.2 車牌分割

定位車牌區域后,應對車牌進行字符分割。中國車牌標準共由7個字符組成。結合每個字符寬45 mm、長90 mm、間隔寬10 mm、字符筆觸寬10 mm等特點,利用函數從左到右逐列掃描車牌,求出每列像素點的和[5]。如果像素點之和為0,則代表字符,反之則為空區域。在尋找字符區間塊的過程中,本文將區間塊的有效寬度與一個固定的閾值進行比較,并根據比較結果進行裁剪,然后逐一保存字符圖片,最終可得到7個字符。

3.4 車牌字符識別

在進行識別前,需要先使用imresize函數對字符的位置和大小進行歸一化處理。該系統使用模板匹配的方法來識別單個字符數據,提取數據的二值數字點陣。通過與字符模板庫進行比對,根據字符像素點的特征進行判斷匹配,選擇像素級差異最小的作為最佳匹配結果,并輸出最終的識別結果。最終仿真識別效果如圖4所示。

圖4 基于MATLAB與單機片串行通信下的車牌智能識別系統

4 結束語

本文針對汽車車牌智能識別系統提出了一種結合MATLAB與單片機兩者優點的串行通信方案。MATLAB與單片機串行通信為汽車車牌智能識別系統的設計和分析提供了重要的支持。通過合理的串行通信設計和編程函數,可實現MATLAB與單片機之間的數據傳輸和交互,從而實現車牌的智能識別功能,這對于提高車牌識別系統的性能和實用性具有重要意義。

猜你喜歡
單片機
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的多功能智能插排
電子制作(2019年11期)2019-07-04 00:34:48
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
MSP430單片機在仿真中要注意的幾點問題
電子制作(2017年9期)2017-04-17 03:00:53
基于單片機的平衡控制系統設計
電子制作(2017年19期)2017-02-02 07:08:27
基于單片機的三維LED點陣設計
電子制作(2016年21期)2016-05-17 03:52:51
Microchip推出兩個全新PIC單片機系列
基于Proteus的單片機控制系統的仿真設計
主站蜘蛛池模板: 婷婷五月在线| 一本二本三本不卡无码| 丁香五月婷婷激情基地| 成人免费黄色小视频| 国产主播在线一区| 亚洲高清国产拍精品26u| 青青草原国产| 欧美国产在线看| 激情六月丁香婷婷四房播| 久久黄色一级片| 99久久精品无码专区免费| 毛片视频网址| 亚洲免费播放| 婷婷六月综合| 国产精品无码制服丝袜| 在线免费观看AV| 欧美精品H在线播放| 国产精品一区二区久久精品无码| 国产成人精品亚洲日本对白优播| 99精品国产电影| 精品三级网站| 欧美日韩专区| 国产成人av一区二区三区| 人人澡人人爽欧美一区| 国产美女叼嘿视频免费看| 久久大香香蕉国产免费网站| 伊人久久大线影院首页| 久久国产香蕉| 伊人久久综在合线亚洲2019| 欧美一区二区三区欧美日韩亚洲| 青青青视频91在线 | 免费观看精品视频999| 丰满人妻中出白浆| 成年网址网站在线观看| 亚洲日本中文字幕乱码中文| 国产杨幂丝袜av在线播放| 综合色天天| 欧美视频在线播放观看免费福利资源 | 国产一区二区三区精品久久呦| 丝袜美女被出水视频一区| 91小视频在线观看| 狠狠v日韩v欧美v| 99在线视频免费观看| a级毛片网| 青青久在线视频免费观看| 深夜福利视频一区二区| a亚洲视频| 亚洲欧美h| 久久青草视频| 亚洲天堂成人在线观看| 天天综合网在线| 永久免费无码成人网站| 亚洲一区二区三区在线视频| 国产乱码精品一区二区三区中文| a级毛片免费在线观看| 人妻熟妇日韩AV在线播放| 亚洲一区二区视频在线观看| 色网站在线免费观看| 99精品在线看| 国产jizz| 久久a级片| 亚洲综合色吧| 亚洲一区色| 国产AV毛片| 免费人欧美成又黄又爽的视频| 亚洲精品亚洲人成在线| 人妻少妇久久久久久97人妻| 国产成人a在线观看视频| 丁香亚洲综合五月天婷婷| 亚洲精品视频网| 日日噜噜夜夜狠狠视频| 亚洲制服丝袜第一页| 成人中文在线| 欧美不卡视频在线| 国产欧美日韩18| 国产真实乱人视频| 日本www色视频| 国产亚洲精品无码专| 欧美激情视频一区二区三区免费| 国产99视频在线| 伊人无码视屏| 广东一级毛片|