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

基于OpenCV和Tesseract-OCR的表帶字符識別算法研究

2022-05-17 20:39:30徐陽
科海故事博覽·上旬刊 2022年5期

徐陽

摘 要 隨著我國智能制造的迅速發展,信息技術和制造業的覆蓋面越來越廣泛,本文針對智能穿戴中表帶字符識別,提出了利用OpenCV和Tesseract-OCR(Google開源光學文字識別引擎)的方法。經過一系列圖像預處理、圖像降噪、定位等操作,再通過Pyteseract模塊的處理,達到了快速、準確的文字識別目的。

關鍵詞 OpenCV 字符識別 Tesseract-OCR技術

中圖分類號:TP3 文獻標識碼:A 文章編號:1007-0745(2022)05-0016-03

1 研究背景及理論基礎

當下智能穿戴在人群中非常流行,專屬化以及個性化的服務讓人們有著滿滿的時尚感、科技感。人們在追求高品質生活的同時,對穿戴樣式及美觀需求更高,作為可更換的配件手表表帶,除了對材質要求外,對圖案樣貌以及一些專屬字符等也有需求。在生產車間里,用傳統方式面對字符檢測,耗時、耗力、效率低。所以為了更加簡潔快速地識別表帶字符,剔除劣質品,快速找到合格品[1],本文著重研究基于OpenCV和Tesseract-OCR的表帶字符識別算法的實現。

OpenCV創建之初,是為了提供來源優化過的基礎代碼,可以實現許多圖像處理的基礎算法,具有更強的可讀性、移植性且免費,支持C++,Python等語言。二十世紀八十年代初開發的一個開源OCR引擎在測試中精準度很高,經過不斷地改進后,結合Python語言逐漸發展為Pytesseract的模塊。它支持PIL庫中各式各樣的圖片文件,也可以靈活地處理OpenCV圖像,和Numpy數組相互轉化,同時為了提高圖像轉對文本的處理能力,可以訓練自己的庫[2-3]。

2 表帶字符識別流程

本文將采集到的表帶圖像進行預處理,包括圖像灰度化、二值化,再進行定位,包括尋找字符輪廓、繪制輪廓等操作,將所需檢測部分進行截取,最后OCR字符識別輸出結果。

1.獲取圖像。

2.預處理。

3.字符定位。

4.字符圖像提取。

5.OCR字符識別。

3 表帶圖像預處理

3.1 圖像顏色空間轉換

在顏色空間轉換中,灰度圖像經過轉換后,彩色圖像中的所有通道都相同,其中CV_8U類型圖像范圍在0到255之間,CV_16U類型圖像范圍在0到6535之間,CV_32F類型圖像范圍在0到1之間。與之相反,彩色圖像轉換為灰色圖像,就要使用加權公式,如下:

Y=(0.299)R+(0.587)G+(0.114)B

其中,R代表彩色圖像中紅色部分(Red)的像素值,G代表彩色圖像中綠色部分(Green)的像素值,B則代表彩色圖像中藍色部分(Blue)的像素值,加權的最終結果Y代表灰度的像素值。

gray=cv.cvtColor(dst,cv.COLOR_BGR2GRAY)

其中gray代表處理之后圖像,COLOR_BGR2GRAY代表BGR格式圖像轉化為GRAY格式圖像。以下是得到的灰度圖像(見圖1):

3.2 高斯濾波降噪

我們經常使用的圖像濾波算法包括:中值濾波、均值濾波、高斯濾波。中值濾波特點是計算模板內所有像素的中值,然后用計算出來的值分別代替該像素點的灰度值,這種方法能很好地保護邊緣信息,但是花費時間較長。均值濾波的特點是計算模板內所有像素的平均值,然后用計算出來的值分別代替該像素點的灰度值,對于目標圖像只能相對減弱噪聲,無法克服邊緣像素信息丟失部分。結合前兩種方法不同的優缺點,本文采用高斯濾波的方法去除噪聲,因為它對圖像鄰域內像素進行平滑時,不同位置的鄰域像素有著不同的權值,能夠更多地保留圖像總體灰度分布特征。一維零均值高斯函數:

G(x,y)=exp(-)

其中x2和y2分別表示的是鄰域內其他像素與鄰域內中心像素的距離,σ是標準差。σ值越大,函數圖形越寬,圖形越平坦,類似于平均模板。

σ值越小,分布越集中,圖形寬度越窄。

dst=cv.GaussianBlur(image,(3,3),0)

表帶圖像經過高斯濾波降噪處理后,如圖2所示:

4 表帶字符定位

為了使圖像定位更加準確,首先需要將圖像的輪廓清晰地表現出來,可以選用閾值分割法或者邊緣檢測的方法。

4.1 閾值分割法

簡單的圖像分割方法可以利用閾值來處理,圖像閾值化適用于背景和目標占據不同灰度級范圍的圖像,因為它計算量小,性能穩定,成為最廣泛的圖像分割技術。我們可以給出一個數組以及一個閾值,然后根據每個數組中的值與閾值進行比對,不管是高了還是低了分別進行相應的處理。給定原始圖像f(x,y),T為閾值,則g(x,y)滿足下式:

使用全局閾值方法進行閾值圖像處理:

ret,binary=cv.threshold(gray,0,255,cv.THRESH_BINARY|cv.THRESH_OTSH)

其中閾值類型THRESH_BINARY中,可以將超過閾值部分取最大值,反之取0。THRESH_OSTH遍歷所有可能的閾值,然后對每個閾值結果的兩類像素計算方差σi2。OTSU算法計算方差使下列表達式最小:

σw2≡W1(t).σ12+W2(t).σ22

其中的W1(t)和W2(t)是根據兩種類型像素的數量計算的權重,σ12和σ22表示兩類像素的方差。圖3是經過全局閾值處理后的表帶圖像:

4.2 邊緣檢測

這些輪廓是通過將滯后閾值應用于像素而形成的,并且采用了兩個閾值。兩個閾值中分為較大的數值a和較小的數值b,像素的梯度被計算出后大于a就接受,反之小于b則舍棄,但如果介于a與b之間,那么接受它的方式只有它連接到一個高于閾值的像素時[4-5]。Canny內部調用Sobel算子,不但用了高斯平滑還有微分導數,來計算該圖像灰度函數的近似梯度[6]。

xgrad=cv.Sobel(gray,cv_16SC1,1,0)

ygrad=cv.Sobel(gray,cv_16SC1,0,1)

得到x和y方向的梯度后,對圖像進行Canny(xgr-ad,ygrad,50,150)操作后得到圖像(見圖4):

4.3 兩種定位方法的比較

閾值分割是用于強調圖像中感興趣的部分的方法,經過二值化處理后,顯示出該目標的灰度值,強調主體本身具有灰度特性,使用閾值分割來表現。與之相似的,邊緣檢測重點在于利用算法表現邊緣的灰度特性,常用于發現物體的邊緣,特征更加明顯,方便后續操作[7-8]。

5 表帶字符圖像提取

將表帶中需要提取的部分定位好后,準備進行字符圖像提取,需要尋找輪廓并繪制輪廓:

cv.findContours(binary,cv.RETR_EXTERNAL,cv.CHAIN_APPROX_SIMPLE)

cv.drawContours(image,contours,i,(0,0,255),1)

其中cv.RETR_EXTERNAL表示只檢測最外層的輪廓,cv.CHAIN_APPROX_SIMPLE表示水平、垂直、對角線方向的元素被壓縮,只保留該方向的最終坐標位置。表帶字符的矩形外框只需4個點來保存輪廓信息。執行結束后得到的圖像為(見圖5):

6 表帶字符識別

6.1 預處理

由于使用Tesseract-OCR有字符識別方面的要求,所以在字符背景和像素方面要進行一些處理。首先進行圖像預處理,去除干擾線與點,防止識別過程中出現錯誤[9]。

開操作是先腐蝕后膨脹的過程,它相當于一個幾何運算的濾波器[10]。

open_out=cv.morphologyEx(binary,cv.MORPH_OPEN,kernel)

作為形態學中核心的API函數morphologyEx(),cv.M ORPH_OPEN可以代表開運算,kernel是其中的內核,可以通過cv.getStructuringElement(cv.MORPH_RECT,(3,3))返回具有特定形狀和大小的結構元素。得到開操作后的圖像為(見圖6):

6.2 Tesseract-OCR字符識別

Tesseract是一種開源OCR(光學字符識別),可以識別不同格式的圖像文件并將其轉換為文本。首先我們需要下載windows下相應的安裝文件,Pytesseract是由Python封裝,支持PIL圖像或者Numpy圖像,使用Image.fromarray(open_out)函數實現數組array到image的轉換,使用OCR模塊的API的方法:

text=tess.image_to_string(textImage)

最后以字符串的形式返回結果(見圖7):

7 結語

本文利用一些傳統的Opencv圖像處理方式和目前較為流行的OCR方法,主要是使用Python語言,對表帶識別進行了初步的研究。對于一些簡單的圖像,處理迅速、識別準確。但是關于如何應對復雜場景下的字符識別、能否進行算法的擴充以達到提高識別準確率的效果,還需要更進一步的分析研究。

參考文獻:

[1] 郝輝,哈里木拉提·買買提,喬薩礎拉,等.字符識別研究現狀和發展趨勢計量分析[J].現代電子技術, 2018,41(22):154.

[2] 阮秋琦,阮宇智.岡薩雷斯數字圖像處理(第二版)[M].北京:電子工業出版,2010.

[3] Hongkun Tian,Tianhai Wang,Yadong Liu,Xi Qiao,Yanzhou Li.Computer vision technology in agricultural automation[J].Information Processing in Agriculyure,2020,07(01):1-19.

[4] 孫汝萍.一種改進的圖像邊緣提取方法[J].科技通報,2018,34(10):158-161.

[5] RGV Gioi,G Randall.A Sub-Pixel Edge Detector:an Implementation of the Canny/Devernay Algorithm[J].Image Processing on Line,2017,07(01):347-372.

[6] 趙芳,周旺輝,陳岳濤,等.改進的Canny算子在裂縫檢測中的應用[J].電子測量技術,2018,41(20):107-111.

[7] 曾建華,黃時杰.典型圖像邊緣檢測算子的比較與分析[J].河北師范大學學報(自然科學版),2020,44(04): 295-301.

[8] 張少偉.基于機器視覺的邊緣檢測算法研究與應用[D].上海:上海交通大學,2013.

[9] 沈同平,王元茂.基于灰度形態學的圖像邊緣特征提取算法研究[J].蘭州紋理學院學報,2018,32(02):58-61.

[10] 劉曉剛,閆紅方,張榮.基于形態學多尺度多結構的熔池圖像邊緣檢測[J].熱加工工藝,2019,48(05):216-219.

主站蜘蛛池模板: 国产一区二区三区精品欧美日韩| 在线无码av一区二区三区| 国产精品一区二区无码免费看片| 啪啪永久免费av| 亚洲一区波多野结衣二区三区| 最新痴汉在线无码AV| 毛片免费高清免费| 欧美综合区自拍亚洲综合绿色 | 欧美视频在线播放观看免费福利资源| 免费看av在线网站网址| 国产又色又刺激高潮免费看| 成年免费在线观看| 中文无码精品A∨在线观看不卡| 亚洲综合久久一本伊一区| 国产精品福利社| 欧美一区国产| 亚洲美女视频一区| 国产99精品久久| 成人在线观看不卡| 欧美激情首页| 九色国产在线| 麻豆精品在线视频| yjizz国产在线视频网| 婷婷五月在线| 日本高清免费一本在线观看| 伊人久久大香线蕉影院| 无码中文字幕精品推荐| 久久特级毛片| 中文字幕亚洲无线码一区女同| 在线中文字幕日韩| 日韩高清一区 | 国产爽歪歪免费视频在线观看| 18黑白丝水手服自慰喷水网站| 国产AV毛片| 97视频在线精品国自产拍| 一本一本大道香蕉久在线播放| 国产精品网址你懂的| 国产情侣一区二区三区| 国产成人亚洲欧美激情| 国产欧美中文字幕| 欧美a级在线| 最近最新中文字幕在线第一页| 一级香蕉视频在线观看| 日韩第一页在线| 1769国产精品免费视频| 成人福利免费在线观看| 秋霞一区二区三区| 亚洲欧美综合在线观看| 国内熟女少妇一线天| 欧美日韩国产在线播放| 永久成人无码激情视频免费| 国产97公开成人免费视频| 欧美日韩国产精品va| AV色爱天堂网| 亚洲欧美日韩另类在线一| 国产主播一区二区三区| 精品久久久久久成人AV| 国产欧美精品专区一区二区| 欧美国产综合色视频| 狠狠v日韩v欧美v| 在线看片中文字幕| 国产色伊人| 天天躁夜夜躁狠狠躁躁88| 亚洲天堂成人在线观看| 强奷白丝美女在线观看| 好吊日免费视频| 亚洲中久无码永久在线观看软件 | 亚洲欧洲自拍拍偷午夜色| 国产精品亚洲日韩AⅤ在线观看| 一级毛片在线播放免费观看 | 成人在线欧美| 亚洲AV电影不卡在线观看| 国产精品一老牛影视频| 国产亚洲欧美日韩在线观看一区二区 | 成人va亚洲va欧美天堂| 日韩欧美91| 久久青青草原亚洲av无码| 久久这里只有精品66| 五月天婷婷网亚洲综合在线| 中文字幕va| 国产精品综合色区在线观看| 国产99精品久久|