日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

tesseract识别图片中文字(一)

發(fā)布時間:2025/3/21 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 tesseract识别图片中文字(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

??一、對于復雜背景中的文本提取

?我測試用的簡單的單行文本,如果非文本區(qū)多對二值化影響大,首先進行提取文本行,再對提取的文本行進行二值化。

實例圖片:

圖片中的文字區(qū)域從此視頻幀中提取:

1、切取圖片中的行

????? 提取邊緣信息,邊緣圖像進行水平投影,將每一行中的像素值相加,得到一個每行邊緣信息的數組,

求數組的波谷,兩個波谷直接的區(qū)間就為文本行。

???? 求取波谷,我也沒想到什么好的算法,因為數組是有波動的,只提取極小值也不對,會提取到特別多個波谷。

?下一步想平滑后求極小值。

目前切行后為:

?

2、對文本行歸一化到一定的高

????? 按原來的寬高比對圖片進行縮放,縮放到高為80個像素點(看論文里的經驗值),便于文本的識別。

?

float ratioWH = (float)(image->width)/image->height;CvSize cv;cv.height = 80;//將文字行比例轉換為高80cv.width = 80*ratioWH;IplImage *norImage = cvCreateImage(cv,8,1);cvResize(image,norImage);

3、對歸一化的文本行進行二值化

????? 提取歸一化文本行的邊緣信息,因為文本現在占圖像的主體,邊緣點的特征跟文本的特征比較相似(對于漸變文本,邊緣和

填充不一致的也沒有考慮,只考慮簡單的文本顏色比較單調的),根據邊緣點的位置在歸一化圖上提取相應點的顏色特征,

在這里我又加了連通域分析,不過感覺沒有什么改變。

IplImage *cannyImage = cvCreateImage(cvGetSize(norImage),8,1);cvCanny(norImage,cannyImage,50,150);CvMemStorage *pStor = cvCreateMemStorage(0);///創(chuàng)建目標輪廓存儲空間;CvSeq *pCont = NULL;///無需釋放內存cvFindContours(cannyImage, pStor, &pCont,sizeof(CvContour), CV_RETR_CCOMP, CV_CHAIN_APPROX_SIMPLE);//獲取二值圖像輪廓信息cvDrawContours(cannyImage,pCont,cvScalarAll(255),cvScalarAll(255),0,CV_FILLED,8, cvPoint(0, 0));int sum = 0;int num = 0;for(int i=0;i<norImage->height;i++){for(int j=0;j<norImage->width;j++){uchar data = *(cannyImage->imageData+i*cannyImage->widthStep+j);if(data!=0){uchar data2 = *(norImage->imageData+i*norImage->widthStep+j);sum += data2;num++;}}}//二值化float average =(float)(sum)/num;for(int i=0;i<norImage->height;i++){for(int j=0;j<norImage->width;j++){if((uchar)*(norImage->imageData+i*norImage->widthStep+j)>average){*(norImage->imageData+i*norImage->widthStep+j) = 255;}else{*(norImage->imageData+i*norImage->widthStep+j) = 0;}}}


二值化后圖片:

?

背景還是有沒有去掉的,根據上視頻幀是曝光的原因,考慮均衡一下。

4、然后用二值化的圖片再用tesseract識別。

http://blog.csdn.net/kuaile123/article/details/9302949

總結

以上是生活随笔為你收集整理的tesseract识别图片中文字(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。