導航:首頁 > 編程語言 > tesseractjava驗證碼

tesseractjava驗證碼

發布時間:2023-02-08 03:06:48

❶ WebUI智能識別驗證碼之tesseract

本文訓練數據部分參考: https://blog.csdn.net/ruyulin/article/details/89046148

只能識別字母與數字比較正的圖片內容,不正的基本無法識別,就算訓練也是一樣

需要更精準的識別,可以使用tensorflow框架,進行模型建立及訓練,但是需要學習的東西會比較多。

官網: https://sourceforge.net/projects/vietocr/files/jTessBoxEditor/

注意:

官網: https://digi.bib.uni-mannheim.de/tesseract/

pip install pytesseract

以古詩文網的登錄頁面為例,獲取驗證碼數據:

結果圖片:

復制VeriCode.traineddata,放到tessdata(Tesseract安裝目錄的一個文件夾)文件夾下

tesseract VeriCode.font.exp1.tif VeriCode.font.exp1 batch.nochop makebox

雙擊需要修改值的char,修改之後需要回車

例如,該D字元,寬度很寬,占據多個字元位置,可以使用分割split,分割成多個再刪除不需要的,或者修改寬度,再調整坐標

前面步驟全部完成,我們就可以使用pytesseract進行圖片識別了

若未安裝:tesseract,則會報錯
pytesseract.pytesseract.TesseractNotFoundError: tesseract is not installed or it's not in your PATH. See README file for more information.

java如何提高百度文字識別的准確度

java文字識別程序的關鍵是尋找一個可以調用的OCR引擎。tesseract-ocr就是一個這樣的OCR引擎,在1985年到1995年由HP實驗室開發,現在在Google。tesseract-ocr 3.0發布,支持中文。不過tesseract-ocr 3.0不是圖形化界面的客戶端,別人寫的FreeOCR圖形化客戶端還不支持導入新的 3.0 traineddata。但這標志著,現在有自由的中文OCR軟體了。
java中使用tesseract-ocr3.01的步驟如下:
1.下載安裝tesseract-ocr-setup-3.01-1.exe(3.0以上版本才增加了中文識別)
2.在安裝向導中可以選擇需要下載的語言包。
3.到網上搜索下載java圖形處理所需的2個包:jai_imageio-1.1-alpha.jar,swingx-1.6.1.jar
4.java程序清單:
文字識別私有化部署方案
可部署至「本地伺服器」的文字識別服務,支持主流 CPU/GPU 環境及國產化系統部署,通用場景、卡證、票據、iOCR 等各類 OCR 模型及自定義平台均可提供容器化部署包,在專有網路環境下一鍵部署應用,保障數據私密性。同時,可提供通用型一體機或國產化一體機,軟硬一體交付,開箱即用,統一維保
快捷部署
容器化打包,支持本地物理機、私有雲等多種部署方式,提供一鍵部署工具和常用運維工具,快速接入、高效運維
數據安全
專有網路環境下本地化部署,數據無需公網上傳,實現業務網路公私分離,保障企業核心生產數據的私密性要求
適配廣泛
CPU 及 GPU 環境均可部署,主流 GPU 顯卡類型均已適配,並可支持國產化系統部署
授權靈活
根據QPS和使用期限進行授權,可自由選擇不同QPS配置,靈活適應不同場景、不同業務的並發量需求
成為開發者
三步完成賬號的基本注冊與認證:
STEP1:點擊網路AI開放平台導航右側的控制台,選擇需要使用的AI服務項。若為未登錄狀態,將跳轉至登錄界面,請您使用網路賬號登錄。如還未持有網路賬戶,可以點擊此處注冊網路賬戶。
STEP2:首次使用,登錄後將會進入開發者認證頁面,請填寫相關信息完成開發者認證。註:(如您之前已經是網路雲用戶或網路開發者中心用戶,此步可略過)。
STEP3:通過控制台左側導航,選擇產品服務-人工智慧,進入具體AI服務項的控制面板(如文字識別、人臉識別),進行相關業務操作。
希望能幫到你,謝謝!

❸ 如何利用Python做簡單的驗證碼識別

最簡單的是這個:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

#!/usr/bin/python3.4
# -*- coding: utf-8 -*-

# 1、pip3 install pyocr
# 2、pip3 install pillow or easy_install Pillow
# 3、安裝tesseract-ocr:http://jaist.dl.sourceforge.net/project/tesseract-ocr-alt/tesseract-ocr-setup-3.02.02.exe,安裝在C:\Program Files\下
# 4、要求python默認安裝在C盤
# http://www.cnblogs.com/TTyb/p/5996847.html
# 代碼:
# !/usr/bin/python3.4
# -*- coding: utf-8 -*-

import pytesseract
from PIL import Image

image = Image.open('../jpg/code.png')
code = pytesseract.image_to_string(image)
print(code)

❹ 如何在windows上編譯Tesseract OCR

最近要用java實現一個驗證碼識別系統,選了半天之後最終決定用Tesseract-OCR作為識別引擎。既然是java+Tesseract-OCR,自然就首選Tess4J。由於Tess4J直接且僅提供了編譯成dll的3.02版本的Tesseract-OCR,而我的最終目標Linux下使用且想自己更換Tesseract-OCR的版本,就決定自己動手對Tesseract-OCR的代碼進行編譯。而這篇文章就是這次研究的中間產物。雖然Tess4J目前支持的是Tesseract-OCR3.02,但Tesseract-OCR無法在Tess4J中直接進行使用,還需要使用capi進行封裝,但這個就是後話了,本文僅介紹如何在windows環境下編譯Tesseract-OCR。准備工作根據GoogleCode上下載Tesseract-OCR的windows安裝版本測試的結果及官方說明文檔,Tesseract-OCR支持tiff、png、gif、bmp、jpeg等格式,所以首先就按照這個目標來收集所需的支持庫。由於最終目標是在Linux下編譯成功,所以我選擇了msys+tdm-gcc來模擬Linux下的編譯過程。

❺ 聯通驗證碼識別,用JAVA或C語言。

這種用打碼兔就能解決啦

❻ java 驗證碼識別 圖形是否連通演算法

去除干擾線TESSERACT承認喜歡這幅畫的話,我覺得正確率不應該是因為低

過低的是,你必須培養你自己的圖書館,與印刷包裝的默認語言僅

文本不適合於一個扭曲的排序字元變形

❼ java怎麼自己做一個orc身份證識別

是OCR文字識別技術來識別身份證吧。OCR識別身份證的話,會涉及到數字識別,中文識別,英文識別的。數字和英文相對比較好識別。中文麻煩一些。目前市場上有一個開源的,tesseract識別效果稍微比較好。樓主可以試一試。tesseract是C++做的,java可以使用JNI調用C語言的。如果樓主不差錢,並且識別效果要求高的話,建議使用第三方的識別軟體。樓主可以和取得聯系。希望幫助到樓主,希望採納,謝謝!

❽ java 怎麼調用tess4j

網上傳的代碼示例大多是在Windows下安裝Tesseract ORC後通過CMD命令操作進行圖識別操作.而 Tess4j 針對Tesseract 提供了JNI支持,同時還提供了一些圖片操作的工具類,提供比如圖片放大,旋轉,黑白處理,銳化 等用來提高識別率的操作.操作十分方便. Tess4j 簡單到超乎想像,只是自己在使用環境比較特殊,遇到很多問題,這里一一道來.

1 依賴包.

tess4j.jar Tess4j的本尊,用於Tesseract 的JNA支持,並提供相關操作工具類

jna.jar 看到Tesseract 的第一反應是要用cmd或JNI來操作它,了解了一下 Tess4j 使用的JNA,有點JNI高級版的感覺,CMD什麼的,玩蛋蛋去吧.

jai_imageio.jar 圖片操作的工具類,支持Tiff就靠它了. 它的 META-INF 里有文章,這個後面詳說.

還有其它幾個包,是用於操作PDF用的吧,沒有引用,也沒有發生錯誤.所以的包可以在 Tess4j 的文件目錄裡面找到.

2 操作代碼.

官方的示例中給出了一個超級簡單有效的示例,不足20行代碼!!!我和小夥伴們都被震驚了!!!關鍵代碼如下:

Java代碼 收藏代碼

File imageFile = new File("eurotext.tif");

Tesseract instance = Tesseract.getInstance(); // JNA Interface Mapping

String result = instance.doOCR(imageFile);

實際使用中為了提高識別率還要對圖片作一些處理來提高識別率,使用Tess4j 自帶的工具類即可完成,這樣識別率就大大的提高了.( 這里無法解決 驗證碼 中干擾線問題,干擾線的清理,網上有其它方式處理 )

Java代碼 收藏代碼

// 這里對圖片黑白處理,增強識別率.這里先通過截圖,截取圖片中需要識別的部分

BufferedImage textImage = ImageHelper.convertImageToGrayscale(ImageHelper.getSubImage(panel.image, startX, startY, endX, endY));

// 圖片銳化,自己使用中影響識別率的主要因素是針式列印機字跡不連貫,所以銳化反而降低識別率

// textImage = ImageHelper.convertImageToBinary(textImage);

// 圖片放大5倍,增強識別率(很多圖片本身無法識別,放大5倍時就可以輕易識,但是考濾到客戶電腦配置低,針式列印機列印不連貫的問題,這里就放大5倍)

textImage = ImageHelper.getScaledInstance(textImage, endX * 5, endY * 5);

3 使用中遇到的問題

3.1 相關DLL文件,相關字型檔文件

liblept168.dll,libtesseract302.dll 其中 liblept168.dll 要先載入.

tessdata 存放的是字型檔文件,如果需要數字,英文以外的支持需要 Tesseract 頁面下載相關字型檔.

因為公司使用時是將文件打成Jar布署,然後提供客戶端下載,所以就把以上兩個文件一起打進tess4j.jar裡面,然後客戶端使用時 tessdata 直接可用,而 liblept168.dll,libtesseract302.dll 需要釋放到臨時目錄然後載入.相關代碼:

❾ Tesseract-OCR訓練識別驗證碼有什麼高效的辦法嗎

1. 採集圖片庫(一般每個出現的字元出現20次左右識別效果比較好),根據圖片特點進行初步處理(二值化/灰度化/濾波/降噪等處理),並保存為.tif格式(x.tif);
2. 使用JTessBoxEditor ,將得到的.tif圖片合並為一張圖片(Tool—>MergeTiff);
3. 下載安裝tesseract-ocr-setup-3.01-1.exe;
4. 安裝後,運行命令行到.tif格式(x.tif)文件夾中,輸入tesseract.exe x.tif x batch.nochop makebox;(PS:保存為 同名同文件夾下)
5. 使用JTessBoxEditor打開x.tif文件進行逐個校正;(PS:每次校正後都得保存)
6.校正後,命令行執行:
tesseract.exe x.tif x nobatch box.train;
unicharset_extractor.exe x.box;
7. 在目錄下建立名為「font_properties」的文件,並輸入內容:x 1 0 0 1 0;
8.命令行執行:
cntraining.exe x.tr;
mftraining.exe –F font_properties –U unicharset x.tr;
9. 將目錄下生成的文件其中幾個unicharset/inttemp/normproto/pffmtable文件加上訓練名前綴「x.」;
10.命令行執行:
combine_tessdata x. 生成最終的校驗學習數據x.traineddata文件;

閱讀全文

與tesseractjava驗證碼相關的資料

熱點內容
win10設置應用許可權管理 瀏覽:47
wordpress製作單頁網站導航頁面 瀏覽:277
什麼海外網站可以看限製片 瀏覽:596
指尖見app在哪裡下載 瀏覽:367
java聊天室課程設計 瀏覽:670
responsejavascript 瀏覽:71
如何從殺毒軟體裡面恢復出文件 瀏覽:972
越獄iphone如何備份 瀏覽:124
蘋果四S萬能鑰匙怎麼破不開 瀏覽:603
網路列印機共享怎麼連接 瀏覽:313
fme系統找不到指定文件 瀏覽:301
iphoneid和密碼忘了怎麼辦 瀏覽:238
蘋果電腦優盤里的文件如何加密 瀏覽:284
word標題名和文件名一致 瀏覽:957
excel修改後的文件保持了怎麼恢復 瀏覽:340
社保網路認證怎麼弄 瀏覽:92
蘋果手機怎麼傳數據到新手機相冊 瀏覽:50
5s升級ios92無服務 瀏覽:354
ubuntu翻譯工具 瀏覽:665
wifi安裝教程 瀏覽:398

友情鏈接