OCR - 光學字元辨識
OCR英文全稱是Optical Character Recognition,中文叫做光學字元識別。它是利用光學技術和計算機技術把印在或寫在紙上的文字讀取出來,並轉換成一種計算機能夠接受、人又可以理解的格式。
找個測試範例 - 中華郵政3+2驗證碼圖片


分析圖片
首先看到這圖片除了數字之外有很多斜的灰色干擾線,然後驗證碼都是以數字為主,且每個數字各自不同顏色 除了干擾線背景是有顏色且無邊匡。 理出幾個結論:
驗證碼皆為數字且不同顏色。
背景有顏色無邊匡
主要為灰色干擾線
解析圖片策略架構(Policy)
主要為處理圖片噪點策略,設計圖片RGB輸出Console Log,以利後續判斷噪點處置方式,將圖片上每個店都以座標形式呈現並且存入Map方便取用檢視。
RGB輸出Console Log

判斷噪點參考範圍(shape)
根據每個點產生不一樣大小的判斷範圍


去噪流程架構(Clean)
主要流程架構
獲取圖片、判斷OCR辨識結果是否預期(contain code)
副流程架構
初始化圖片(取得圖片參數[長、寬]、GIF圖檔等等)
圖片進行去噪(設計需要使用哪些過濾器Queue)
設計要使用哪個圖片策略

設計Web架構
為了方便測試先設計一個API接收圖片進行測試

實際去噪測試
先將圖片增加亮度,根據增加亮度的結果超過一定數值直接判斷成噪點並且變成白色。

再根據圖上孤立的噪點進行判斷並去除

完成兩項已經可以發現噪點已經都不見了,可以再將圖片進行二階化

再將最終圖片進行OCR判斷,當你能將塗上噪點去除完整,辨識結果就會提高。


另外測試玉山菁英甄選系統登入驗證碼



Last updated