導航:首頁 > 源碼編譯 > ocr源碼

ocr源碼

發布時間:2022-02-14 03:43:19

❶ 關於有誰用過tesseract-ocr開源嗎

Tesseract是圖盲,默認情況下只能看得懂未壓縮的TIFF圖像,如果直接用tesseract處理其它格式的圖片,會報錯如下:_to_image_type:Error:Unrecognizedimagetype:code.jpgIMAGE::read_header:Error:Can』treadthisimagetype:code.jpgtesseract:Error:Readoffilefailed:code.jpg所以需要用ImageMagick來轉換圖片格式,ImageMagick(TM)是一個免費的創建、編輯、合成圖片的軟體。它可以讀取、轉換、寫入多種格式的圖片。圖片切割、顏色替換、各種效果的應用,圖片的旋轉、組合,文本,直線,多邊形,橢圓,曲線,附加到圖片伸展旋轉。ImageMagick是免費軟體:全部源碼開放,可以自由使用,復制,修改,發布。它遵守GPL許可協議。它可以運行於大多數的操作系統。ImageMagick的大多數功能的使用都來源於命令行工具。通常來說,它可以支持以下程序語言:Perl,C,C++,Python,PHP,Ruby,Java;現成的ImageMagick介面(PerlMagick,Magick++,PythonMagick,MagickWandforPHP,RubyMagick,andJMagick)是可利用的。這使得自動的動態的修改創建圖片變為可能。ImageMagick支持至少90種圖片格式:A,ART,AVI,AVS,B,BIE,BMP,BMP2,BMP3,C,CACHE,CAPTION,CIN,CIP,CLIP,CLIPBOARD,CMYK,CMYKA,CUR,CUT,DCM,DCX,DNG,DOT,DPS,DPX,EMF,EPDF,EPI,EPS,EPS2,EPS3,EPSF,EPSI,EPT,EPT2,EPT3,FAX,FITS,FPX,FRACTAL,G,G3,GIF,GIF87,GRADIENT,GRAY,HDF,HISTOGRAM,HTM,HTML,ICB,ICO,ICON,JBG,JBIG,JNG,JP2,JPC,JPEG,JPG,JPX,K,LABEL,M,M2V,MAP,MAT,MATTE,MIFF,MNG,MONO,MPC,MPEG,MPG,MSL,MTV,MVG,NULL,O,OTB,P7,PAL,PALM,PATTERN,PBM,PCD,PCDS,PCL,PCT,PCX,PDB,PDF,PFA,PFB,PGM,PGX,PICON,PICT,PIX,PJPEG,PLASMA,PNG,PNG24,PNG32,PNG8,PNM,PPM,PREVIEW,PS,PS2,PS3,PSD,PTIF,PWP,R,RAS,RGB,RGBA,RGBO,RLA,RLE,SCR,SCT,SFW,SGI,SHTML,STEGANO,SUN,SVG,SVGZ,TEXT,TGA,TIF,TIFF,TILE,TIM,TTC,TTF,TXT,UIL,UYVY,VDA,VICAR,VID,VIFF,VST,WBMP,WMF,WMFWIN32,WMZ,WPG,X,XBM,XC,XCF,XPM,XV,XWD,Y,YCbCr,YCbCrA,YUV,ImageMagick.NET的相關項目:UseMagickNettoconvert,compose,andeditimagesfromWindows.NET.ImageMagickAppisa.NETapplicationwritteninC#ormatstodifferentformats.假設需要識別的圖片驗證碼為code.jpg,需要做的只有兩步:d:\ImageMagick\convert.exe-compressnone-depth8-alphaoff./code.gif./code.tifD:\\tesseract\\tesseract.exe./code.tif./result結果就在文本文件./result.txt裡面了,tesseract會自動地在./result後面添加上後綴名.txt。然後再對兩個命令做點解釋。convert.exe:ImageMagick套件的一部分,負責圖片格式轉換,各個參數的意義如下:-compressnone:轉換後的圖片不要壓縮,如果沒有加這一項,後續tesseract處理的時候會報錯:read_tif_image:Error:Illegalimageformat:Compression-depth8:設置轉換後圖像的色深為8位,也就是bpp為8。如果沒有此參數,後果如下:_legal_image_size:Error:Only1,2,4,5,6,8bpparesupported:16Segmentationfault-alphaoff:在轉換後的圖像中不要添加alpha圖層。如果沒有此參數,後果同上。緊跟著就是待轉換的圖片的文件名,最後是轉換後的圖片的文件名。

❷ 有什麼比較好的支持中文ocr開源庫

需要OCR識別開發代碼可以到雲脈OCR SDK開發者平台下載給類OCR識別API接入文檔

❸ 有什麼比較好的支持中文ocr開源庫

好像叫openocr的,中文要配置下,那天初略看了下,沒深入研究,是用docker的,非常方便

❹ 身份證OCR識別有沒有開源實現的

如果自己沒有開發條件的話推薦嵌入身份證識別API介面進行開發,雲脈OCR SDK開發者平台有提供各類OCR SDK的API介面文檔下載。

❺ OCR 開源的庫識別率比較好的有哪些

OCR技術是光學字元識別的縮寫(Optical Character Recognition),是通過掃描等光學輸入方式將各種票據、報刊、書籍、文稿及其它印刷品的文字轉化為圖像信息,再利用文字識別技術將圖像信息轉化為可以使用的計算機輸入技術。雲脈以OCR識別技術為基礎,推出駕駛證識別、行駛證識別、文檔識別、名片識別、車牌識別、護照識別等OCR識別功能的工具...

❻ 關於ocr掃描的問題。目的是能實驗掃描出數字即可。(需要源碼)

在國際領域來講,純數字的識別技術已經是極為簡單的識別應用。如果基於國內來講涵蓋的中文復雜性,這個有點難度。目前我考察過一些公司,漢王 廈門圖睿 名片王等一些,漢王的人臉考勤機推廣還行,廈門圖睿身份證 銀行卡識別技術很好,名片王自然名片領域搞的很優秀。希望這些信息能夠給你帶來幫助!

❼ tesseract-ocr源文件怎麼用

如果你是終端用戶請下載exe安裝包,

這個是源碼包是針對開次開發或DIY用戶使用的

如果你想自己編程調用請直接看api目錄的api.cpp文件即可

這個文件是調用入口,裡面有詳細的注釋,只不過是英文的

❽ 開源ocr哪個好

紙張在許多地方已日益失寵,無紙化辦公談論40多年,辦公環境正限制紙山的生成。而過去幾年,無紙化辦公的概念發生了顯著的轉變。在計算機軟體的幫助 下,包含大量重要管理數據和資訊的文檔可以更方便的以電子形式儲存。掃描文檔的好處不純粹是存檔理由。為了訪問基於紙張的信息和將信息整合進數字工作流, 光學字元識別(OCR)技術至關重要。選擇正確的OCR工具要基於特定需求而定,例如在線OCR服務對某些人有用,但可能存在隱私問題和文件大小限制。 OCR軟體非大眾產品,因此開源替代相對於商業級重量級產品相對較少,再加上OCR軟體需要先進的演算法將掃描的圖像正確翻譯成實際的文字,而圖像不僅僅含 有文字,它還包含布局、圖形和表格,可能會跨越多頁。
優秀的開源OCR軟體包括:
Tesseract
原本由惠普開發的圖像識別類庫tesseract-ocr已經更新到2.04, 就是最近Google支持的那個OCR。原先是惠普寫的,現在Open source了。
OCRopus
Ocropus的(TM)是一個先進的文件分析和OCR系統,採用可插入的布局分析,可插入的字元識別,自然語言統計建模和多語言支持功能。
Cuneiform
Cuneiform 是一個 OCR 文字識別系統的商標,最開始是由Cognitive 技術所開發的運行在 Windows 下的軟體。而這個項目是該軟體在 linux 系統下的移植版本。
GOCR
GOCR 是一個開源的OCR光學識別程序。

OCRFeeder
OCRFeeder 是 GNOME 桌面下的一個開源 OCR 套件。可將紙質或者圖形文檔轉成電子文檔。

Lios
linux-intelligent-ocr-solution (Lios) 是Linux下一個開源的 OCR 解決方案,可將列印的文檔轉成可編輯的文本。

❾ 如何通過Tesseract開源OCR引擎創建android OCR應用

編譯Android平台的Tesseract,需要使用Google提供的tesseract-android-tools。

代碼獲取方式:

git clone https://code.。google.com/p/tesseract-android-tools/
打開README,在命令行工具中執行下面的步驟:

cd <project-directory>
curl -O https://tesseract-ocr。googlecode.。com/files/tesseract-ocr-3.02.02.tar.gz
curl -O http://leptonica。googlecode。com/files/leptonica-1.69.tar.gz
tar -zxvf tesseract-ocr-3.02.02.tar.gz
tar -zxvf leptonica-1.69.tar.gz
rm -f tesseract-ocr-3.02.02.tar.gz
rm -f leptonica-1.69.tar.gz
mv tesseract-3.02.02 jni/com_googlecode_tesseract_android/src
mv leptonica-1.69 jni/com_googlecode_leptonica_android/src
ndk-build -j8
android update project --target 1 --path .
ant debug (release)
注意:如果你在使用NDK r9,編譯的時候會出現錯誤:

format not a string literal and no format arguments [-Werror=format-security]
解決的方法就是在Application.mk中加入一行:

APP_CFLAGS += -Wno-error=format-security
編譯之後會生成class.jar和一些*.so。

Android OCR Application

創建一個Android應用,把生成的jar和so導入進來。

創建TessOCR:

public class TessOCR {
private TessBaseAPI mTess;

public TessOCR() {
// TODO Auto-generated constructor stub
mTess = new TessBaseAPI();
String datapath = Environment.getExternalStorageDirectory() + "/tesseract/";
String language = "eng";
File dir = new File(datapath + "tessdata/");
if (!dir.exists())
dir.mkdirs();
mTess.init(datapath, language);
}

public String getOCRResult(Bitmap bitmap) {

mTess.setImage(bitmap);
String result = mTess.getUTF8Text();

return result;
}

public void onDestroy() {
if (mTess != null)
mTess.end();
}

}
構造函數中需要在存儲卡上創建一個目錄tessdata,如果不創建程序運行就會出錯。因為源碼中會檢測這個目錄,不存在就拋出異常:

public boolean init(String datapath, String language) {
if (datapath == null) {
throw new IllegalArgumentException("Data path must not be null!");
}
if (!datapath.endsWith(File.separator)) {
datapath += File.separator;
}

File tessdata = new File(datapath + "tessdata");
if (!tessdata.exists() || !tessdata.isDirectory()) {
throw new IllegalArgumentException("Data path must contain subfolder tessdata!");
}

return nativeInit(datapath, language);
}
就這么簡單。現在通過三種方式獲取圖片做OCR:

在圖庫中選取一張圖,選擇發送或者分享,選擇OCR應用

在AndroidManifest.xml中加入IntentFilter,讓OCR應用出現在圖庫的分享列表中:

<intent-filter>
<action android:name="android.intent.action.SEND" />

<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
<data android:mimeType="image/*" />
</intent-filter>
獲得URI之後,對URI解碼,獲取bitmap:

if (Intent.ACTION_SEND.equals(intent.getAction())) {
Uri uri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM);
uriOCR(uri);
}
private void uriOCR(Uri uri) {
if (uri != null) {
InputStream is = null;
try {
is = getContentResolver().openInputStream(uri);
Bitmap bitmap = BitmapFactory.decodeStream(is);
mImage.setImageBitmap(bitmap);
doOCR(bitmap);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
if (is != null) {
try {
is.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
啟動OCR應用,從圖庫中選擇一張圖做OCR

發送Intent調用圖庫,在onActivityResult中獲取返回的URI做OCR:

Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, REQUEST_PICK_PHOTO);
啟動OCR應用,拍照之後做OCR

為了獲取高質量的圖片,在Intent中加入圖片路徑。返回之後就可以直接使用這個圖片路徑解碼:

private void dispatchTakePictureIntent() {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
// Ensure that there's a camera activity to handle the intent
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
// Create the File where the photo should go
File photoFile = null;
try {
photoFile = createImageFile();
} catch (IOException ex) {
// Error occurred while creating the File

}
// Continue only if the File was successfully created
if (photoFile != null) {
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT,
Uri.fromFile(photoFile));
startActivityForResult(takePictureIntent, REQUEST_TAKE_PHOTO);
}
}
}
最後不要忘記下載語言包,並push到存儲卡的tessdata目錄下。

❿ 求下載此OCR模塊源碼

http://dl3.pudn.com/downloads63/sourcecode/graph/3970958120067-ocr.rar
要下趕快。不然PUDN網站又要改鏈接了。

閱讀全文

與ocr源碼相關的資料

熱點內容
支付寶賬單文件如何解壓 瀏覽:857
查看內核版本命令 瀏覽:953
w10加密盤驅動鎖死怎麼辦 瀏覽:944
全新雲伺服器價格對比 瀏覽:383
python為什麼去除了switch語句 瀏覽:54
二進制7到8的演算法 瀏覽:807
伺服器機櫃叫什麼名字 瀏覽:346
vue3源碼作者 瀏覽:828
app右下角標怎麼關 瀏覽:831
怎麼對一個盤加密碼 瀏覽:670
練習sql用什麼樣的伺服器 瀏覽:978
asp與php對比 瀏覽:645
php模除 瀏覽:254
android上傳圖片方式 瀏覽:886
華為視頻會議伺服器如何連接 瀏覽:224
phpfpm並發數 瀏覽:925
雲伺服器哪裡看 瀏覽:245
戴爾emc伺服器led怎麼拔出 瀏覽:794
程序員霸王 瀏覽:371
文件夾重合如何分開 瀏覽:163