『壹』 如何用matlab實現車牌字元識別全過程
其實也就是ocr功能,在matlab中的ocr,參考
http://www.mathworks.com/matlabcentral/fileexchange/18169-optical-character-recognition--ocr-
『貳』 用matlab對圖片進行字元識別,只要能識別字母就行…十萬火急!!請各位大俠們多多幫忙…
OCR的處理流程如下:
首先將標的物的影像輸人,然後經過影像前處理、文字特徵抽取、比對識別等過程,最後經人工校正將認錯的文字更正,將結果輸出。詳細如下:
影像輸入
要想進行OCR處理,必須先通過光學儀器,如影像掃描儀、傳真機或任何攝影器械,將影像轉人計算機。隨著科技的進步,掃描儀等輸人裝置已製作得愈來愈精緻,輕薄短小,品質也高,對OCR有相當大的幫助。掃描儀解析度的提高使影像更清晰,掃描速度的加快提高了OCR處理的效率
影像前處理
影像前處理是OCR系統中需解決問題最多的一個模塊。從得到一個不是黑就是白的二值化影像或灰階、彩色的影像,到分離出一個個的文字影像的過程,都屬於影像前處理。它包含了影像正規化、去除雜訊、影像矯正等的影像處理,以及圖文分析、文字行與字分離的文件前處理。影像處理的原理及技術都已成熟,在網站上有不少可用的鏈接庫;在文件前處理方面,則憑各家本領了;影像需先將圖片、表格及文字區域分離出來,甚至可將文章的編排方向、文章的提綱及內容主體區分開,而文字的大小及文字的字體也可如原始文件一樣地判斷出來。值得一提的是如何將獨立文字從文字行抽取出來。中文字特別的地方在於它有部首的觀念。因此,不只是上下的合成,左右合成的字也特別多,且有可能是兩部分(如「利」、「明」等),也有三部分的(如「捌」、「晰」等)合成。當這些字與英文或數字同時存在且緊靠在一起時,判斷如何連接或切出,是相當困難的。對排版整齊的印刷文件都無法百分之百解決,更何況是每個人寫字習性都不同的手寫文件。也因此,手寫的OCR產品走向是特殊且有限制的。
文字特徵抽取
單以識別率而言,特徵抽取可說是OCR的核心,用什麼特徵,怎麼抽取,直接影響識別的好壞,所以在OCR研究初期,特徵抽取的研究報告特別多。而「特徵」可說是識別的籌碼,可簡易的區分兩類。一類為統計的特徵。例如文字區域內的黑/白點數比,當文字區分成好幾個區域時,這一個個區域黑/白點數比之聯合,就成了空間的一個數值向量。在對比時,基本的數學理論就足以應付了。而另一類特徵為結構的特徵。例如文字影像細線化後,取得字的筆畫端點、交叉點之數量及位置,或以筆劃段為特徵,配合特殊的比對方法進行比對,市面上的線上手寫輸人軟體的識別方法多以此種結構的方法為主。
比對資料庫
當輸人文字算完特徵後,不管是用統計或結構的特徵,都需有一比對資料庫或特徵資料庫來進行比對,資料庫的內容應包含所有欲識別的字集文字以及根據與輸人文字一樣的特徵抽取方法所得的特徵群組。
比對識別
比對識別是指根據不同的特徵特性,選用不同的數學距離函數進行比對.較有名的比對方法有歐式空間的比對方法、鬆弛比對法(Relaxation)、動態程序比對法(Dynamic Programming, DP)以及類神經網路的資料庫建立及比對、HMM(Hidden Markov Model)等著名的方法。為了使識別的結果更穩定,提出了專家系統(Experts System),利用各種轉征比對方袂的相異互補性,使識別結果的可靠性提高。
字詞後處理
由於OCR的識別率並無法達到百分之百,為了加強比對的正確性及信心值,一些除錯或甚至幫忙更正的功能,便成為OCR系統中必要的一個模塊。字詞後處理就是一例。它在比對後的識別文字與其可能的相似候選字群中,根據前後的識別文字找出最合乎「詞」的詞,作為更正的功能。例如識別出「找門」,在詞庫中找不到這個詞,而「我」是「找」的相似候選字,因此很自然地將「我」取代「找」,而成「我們」。
字詞資料庫
它是為字詞後處理所建立的詞庫。
人工校正
這是OCR最後的關卡。在此之前,使用者可能只是拿個滑鼠,跟著軟體設計的節奏操作或僅是觀看,而在此則需要使用者去更正甚至找尋可能是OCR出錯的地方。一個好的OCR軟體,除了有一個穩定的影像處理及識別核心以降低錯誤率外,人工校正的操作流程及其功能也影響OCR的處理效率。因此,文字影像與識別文字的對照及其屏幕信息擺放的位置,還有每一識別文字的候選字功能、拒認字的功能及繼字詞後處理而特意標示出可能有問題的字詞,都是為了讓使用者盡量少地使用鍵盤。當然,不是說系統沒顯示出的文字就一定正確,可根據具體要求決定是否重新校正一次。
結果輸出
其實輸出是件簡單的事,但需看使用者用OCR到底為了什麼。有人只要求文本文件用於部分文字的再使用,所以只要一般的文字文件,有人要求輸人文件的原文原封不動地重現出來;有人注重表格內的文字,要求跟Excel等軟體結合。無論怎麼變化,都只是輸出檔案格式的變化而已。
『叄』 新手求教,請問用matlab的ocr工具箱怎麼對漢字進行識別
需要安裝一個叫 OCR Language Data Files的東西。 我的經驗是, 直接在你的語句中寫, 例如,
results = ocr(I,'Language', 'ChineseSimplified');
運行時, Matlab會出錯。
例如;
************************************************************
>> OCRExampleJL
錯誤使用 vision.internal.ocr.validateLanguage (line 41)
Install the OCR Languages Support Package to use 'ChineseSimplified'.
*********************************************************
這最後一行是鏈接。 可以點進去然後安裝。 最好, 安裝時以下載, 手動的方式安裝。 否則太慢。
裝好後運行漢字識別還是OK的。 如圖下圖結果。
『肆』 自然場景文字識別的代碼怎麼寫,用matlab模擬
試試CTPN 有在線demo
『伍』 matlab實現ART1漢字分類,訓練,識別代碼
這都不會,豬啊!唉~
『陸』 求一個能做畢業設計的Matlab圖像文字識別題目
排除車牌這個小夥伴們最喜歡用的道具...那你可以考慮一下用集裝箱側面箱號區域,主要分為定位和識別兩大部分。整個過程如下:
讀入圖片預處理 --> 字元定位初始化 --> 字元強化搜索處理 --> 模板匹配形態識別 --> 輸出結果
如果樓主需要的話,我還可以說的具體一些
『柒』 matlab 文字檢測
趙輝《Visual+C++_MATLAB圖像處理與識別實用案例精選》
程序代碼說明
P0201:MATLAB賦值
P0202:MATLAB中的for循環
P0203:MATLAB中的for循環和if條件
P0205:MATLAB圖像處理的基本操作
P0206:MATLAB高級圖像處理操作
P0207:根據RGB圖像創建一幅灰度圖像
P0208:二值圖像的取反操作
P0209:用imshow函數顯示圖像
P0210:在同一個窗口內顯示兩幅圖像
P0301:數字圖像矩陣數據的顯示及其傅立葉變換
P0302:二維離散餘弦變換的圖像壓縮
P0303:採用灰度變換的方法增強圖像的對比度
P0304:直方圖均勻化
P0305:模擬圖像受高斯白雜訊和椒鹽雜訊的影響
P0306:採用二維中值濾波函數medfilt2對受椒鹽雜訊干擾的圖像濾波
P0307:採用MATLAB中的函數filter2對受雜訊干擾的圖像進行均值濾波
P0308:圖像的自適應魏納濾波
P0309:運用5種不同的梯度增強法進行圖像銳化
P0310:圖像的高通濾波和掩模處理
P0311:利用巴特沃斯(Butterworth)低通濾波器對受雜訊干擾的圖像進行平滑處理
P0312:利用巴特沃斯(Butterworth)高通濾波器對圖像進行銳化處理
P0401:用Prewitt運算元檢測圖像的邊緣
P0402:用不同σ值的LoG運算元檢測圖像的邊緣
P0403:用Canny運算元檢測圖像的邊緣
P0404:圖像的閾值分割
P0405:用水線閾值法分割圖像
P0406:對矩陣進行四叉樹分解
P0407:將圖像分為文字和非文字的兩個類別
P0408:形態學梯度檢測二值圖像的邊緣
P0409:形態學實例——從PCB圖像中刪除所有電流線,僅保留晶元對象
P0502:計算圖像中的歐拉數
P0610:神經網路的實例
P0701:細胞邊緣檢測
P0702:癌細胞形態學分析
P0703:癌細胞顏色分析
P0801:索書號文字圖像分割
P0802:粘連字元切分
P0803:文字識別
P0804:彩色車牌分割
P0805:商標文字分割
Recognition:文字識別的識別子函數
StrDetect01:文字識別的結構特徵提取子函數程序代碼說明
P0901:灰度AGV路徑識別
P0902:彩色AGV路徑識別
P0903:HSI彩色空間的AGV路徑識別
P0904:路徑中心線的定位
P0905:Radon變換的AGV路徑偏差檢測
另外,站長團上有產品團購,便宜有保證
『捌』 用MATLAB做文字識別模擬
文字識別 要用神經網路。
具體參考神經網路的guide文件,關於 Character Recognition 應用:
11-15
Appcr1: Character Recognition
It is often useful to have a machine perform pattern recognition. In particular,
machines that can read symbols are very cost effective. A machine that reads
banking checks can process many more checks than a human being in the same
time. This kind of application saves time and money, and eliminates the
requirement that a human perform such a repetitive task. The demonstration
appcr1 shows how character recognition can be done with a backpropagation
network.
Problem Statement
A network is to be designed and trained to recognize the 26 letters of the
alphabet. An imaging system that digitizes each letter centered in the system』s
field of vision is available. The result is that each letter is represented as a 5 by
7 grid of Boolean values.
For example, here is the letter A.
Load the alphabet letter definitions and their target representations.
[alphabet,targets] = prprob;
However, the imaging system is not perfect, and the letters can suffer from
noise.11 Applications
11-16
Perfect classification of ideal input vectors is required, and reasonably accurate
classification of noisy vectors.
The twenty-six 35-element input vectors are defined in the function prprob as
a matrix of input vectors called alphabet. The target vectors are also defined
in this file with a variable called targets. Each target vector is a 26-element
vector with a 1 in the position of the letter it represents, and 0』s everywhere
else. For example, the letter A is to be represented by a 1 in the first element
(as A is the first letter of the alphabet), and 0』s in elements two through
twenty-six.
Neural Network
The network receives the 35 Boolean values as a 35-element input vector. It is
then required to identify the letter by responding with a 26-element output
vector. The 26 elements of the output vector each represent a letter. To operate
correctly, the network should respond with a 1 in the position of the letter being
presented to the network. All other values in the output vector should be 0.
In addition, the network should be able to handle noise. In practice, the
network does not receive a perfect Boolean vector as input. Specifically, the
network should make as few mistakes as possible when classifying vectors with
noise of mean 0 and standard deviation of 0.2 or less.
Architecture
The neural network needs 35 inputs and 26 neurons in its output layer to
identify the letters. The network is a two-layer log-sigmoid/log-sigmoid
Appcr1: Character Recognition
11-17
network. The log-sigmoid transfer function was picked because its output
range (0 to 1) is perfect for learning to output Boolean values.
The hidden (first) layer has 25 neurons. This number was picked by guesswork
and experience. If the network has trouble learning, then neurons can be added
to this layer. If the network solves the problem well, but a smaller more
efficient network is desired, fewer neurons could be tried.
The network is trained to output a 1 in the correct position of the output vector
and to fill the rest of the output vector with 0』s. However, noisy input vectors
can result in the network』s not creating perfect 1』s and 0』s. After the network
is trained the output is passed through the competitive transfer function
compet. This makes sure that the output corresponding to the letter most like
the noisy input vector takes on a value of 1, and all others have a value of 0.
The result of this postprocessing is the output that is actually used.
Initialization
Create the two-layer network with newff.
net = newff(alphabet,targets,25);
Training
To create a network that can handle noisy input vectors, it is best to train the
network on both ideal and noisy vectors. To do this, the network is first trained
on ideal vectors until it has a low sum squared error.
Then the network is trained on 10 sets of ideal and noisy vectors. The network
is trained on two copies of the noise-free alphabet at the same time as it is
trained on noisy vectors. The two copies of the noise-free alphabet are used to
maintain the network』s ability to classify ideal input vectors.
p1
a1
1
1
n1
n2
35 x 1
10
x1
10 x 1
26 x 1
26 x 1
26 x 1
Input
26 x 10
『玖』 有沒有關於文字識別的文獻,matlab有關的!來發我一下吧求回答!!
然後圖像切割需要演算法,還得看你的圖像具體有什麼特徵,可以確定每一個問題的區域。
然後模式類需要特徵吧? 還得去找找 設計文字識別常用的特徵 文獻資料。!@