我的文檔變成了亂碼?(文檔突然變成亂碼)
1294
2025-03-31
測試代碼:
public?static?String?crackImage(String?filePath)?{ ????????File?imageFile?=?new?File(filePath); ????????ITesseract?instance?=?new?Tesseract();? ????????instance.setDatapath("D:\Users\DetectText\tessdata"); ????????try?{ ????????????String?result?=?instance.doOCR(imageFile); ????????????return?result; ????????}?catch?(TesseractException?e)?{ ????????????System.err.println(e.getMessage()); ????????????return?"Error?while?reading?image"; ????????} } public?static?void?main(String[]?args)?{ //?TODO?Auto-generated?method?stub ????System.out.println(ImageCracker.crackImage("D:\Users\DetectText\tessdata\captcha1.png")); }
看來不使用針對性訓練數據不行
排除樣本中的干擾文字和干擾折線,只保留紅色文字
BufferedImage?initImage; try?{ initImage?=?ImageIO.read(new?File(filePath)); ????int?width?=?initImage.getWidth(null), ????????????height?=?initImage.getHeight(null); ????BufferedImage?image?=?new?BufferedImage(width,?height,?BufferedImage.TYPE_INT_RGB); ????Graphics?g?=?image.getGraphics(); ????g.drawImage(initImage,?0,?0,?null); ????for?(int?y?=?0;?y?
使用jTessBoxEditor編輯并生成訓練集
參考:https://zhuanlan.zhihu.com/p/57826761+&cd=2&hl=zh-CN&ct=clnk&gl=sg
使用產生的新的訓練集進行測試驗證
File?imageFile?=?new?File(filePath); ITesseract?instance?=?new?Tesseract();? instance.setDatapath("D:\Users\DetectText\tessdata"); instance.setTessVariable("tessedit_char_whitelist",?"g");//0123456789abcdefghijklmnopqrstuvwxyz //instance.setTessVariable("editor_image_text_color",?"RED"); //instance.setPageSegMode(7); String?result?=?instance.doOCR(imageFile);
--我就測了一個字母,而且是訓練集和測試集完全一樣的情況;
感覺如果識別出圖片中的字體格式再進一步操作會有比較高的準確率,也不用準備很多的訓練集
參考:
https://dzone.com/articles/reading-text-from-images-using-java-1
https://github.com/csanuragjain/extra/tree/master/ReadFromImages
https://stackoverflow.com/questions/18095708/tess4j-doesnt-use-its-tessdata-folder
https://github.com/tesseract-ocr/tessdata
//========================
圖片驗證碼訓練
Tesseract-OCR-04-使用 jTessBoxEditor 進行訓練
tesseract
純記錄,Tesseract-OCR 中文字符訓練
COMBINE_TESSDATA(1)
深入學習Tesseract-ocr識別中文并訓練字庫的方法
Tesseract-OCR的簡單使用與訓練
3_tesseract
javacpp-presets
tesseract-ocr命令學習
Command-Line-Usage
limit-characters-tesseract-is-looking-for
OCR技術現在到了什么水平?如果圖像模糊到人眼識別不出來的話,它還可以識別出來么
write-with-opencv-ocr-tessdata
detect-font-in-a-image
【OCR技術系列之一】字符識別技術總覽
Tesseract 訓練識別字符的思路
tess4j-set-only-to-identify-numbers-and-letters
recognize-coloured-text-with-tesseract-tess4j
using-gpuimages-adaptive-threshold-filter
tesseract-not-picking-up-different-colored-text
Java- How to remove background color from an image
ReadFromImages
Inconsistent error message when eng.traineddata not found
tesseract-for-java-setting-tessdata-prefix-for-executable-jar
Tesseract-OCR 訓練過程 V3.02
Tesseract OCR training gives 'APPLY_BOXES' errors
Trained Tesseract on 瘦金體 successfully!!
使用Tesseract-OCR進行圖像中的文字識別
//========================
jtessboxeditor需要netbeans編譯,下面是一個netbeans9 windows鏡像
netbeans鏡像
ant:jtessboxeditor junit error
Java Ant build.xml詳解
jTessBoxEditor matser
使用Tesseract-OCR進行圖像中的文字識別
//========================
fatal-error-in-launcher-unable-to-create-process-using-c-program-files-x86
importerror-no-module-named-pil
multi-python-version-on-windows
移動python目錄到非c盤之后,pip3安裝命令報錯,可以使用python -m pip安裝,解決pip3 Unable to create process using報錯的方法還沒看到 python -m pip install Pillow
//========================
https://stackoverflow.com/questions/171588/is-there-a-command-to-refresh-environment-variables-from-the-command-prompt-in-w
系統環境變量可以使用set Path=C:后再重啟一個控制臺,用戶環境變量可以重啟explorer.exe, 臨時添加可以直接SET PATH=%PATH%;C:\xxxx
adding-directory-to-path-environment-variable-in-windows
/*---------------------------分割線--------------------------------------------*/
使用上面的方法還是沒有達到很準的匹配效果,也許采用局部的pattern特征匹配可以,
對于g來說上面這部分如果沒有被遮擋就可以作為一個識別特征
//==========
使用模板匹配時,不調用這個Core.normalize(result, result, 0, 1, Core.NORM_MINMAX, -1, new Mat()),而直接使用Imgproc.TM_CCOEFF_NORMED這類方法可以獲取到比較明顯的得分差異;
/*---------------------------分割線--------------------------------------------*/
看了一下CAPTCHA-caffe感覺是很好的方案,準備測一測;
//========================
building-a-java-edge-detection-application
JCanny
我用JAVA做了個簡易圖像相似度計算器
基于 OpenCV 的圖像匹配( Java 版)
灰度圖像二值化,輪廓檢測,統計屬性
OpenCV—RGB圖像灰度化,并提取輪廓
OpenCV成長之路(8):直線、輪廓的提取與描述
org.opencv.imgproc.Imgproc Canny
//========================
detecting-image-in-another-image-image-comparison
Java - Image Recognition
Java OpenCV from Maven
TemplateMatching
Finding pattern of points in an another image (OpenCV)
Template Matching
nu.pattern.OpenCV$UnsupportedPlatformException: Operating system “WINDOWS” and architecture “X86_64” are not supported
OpenCV prebuilt
unsatisfiedlinkerror-no-opencv-java249-in-java-library-path
opencv_java249.dll
google.common.io
Opencv for android 模板匹配
Java openCV – 使用Imgproc.matchTemplate方法后,如何檢查結果?
//========================
multi-scale-template-matching-using-python-openc
scale-and-rotation-invariant-template-matching
LogPolarFFTTemplateMatcher
how-does-macthtemplate-deal-with-scaling
OpencvTemplateScaleMatch.py
OpenCV matchTemplate閾值用于不同的方法
OpenCV探索之路(九):模板匹配 if (minVal < 0.001)
//========================
如何知道線的寬度
OpenCV-Python 霍夫直線檢測-HoughLinesP函數參數
直線/曲線檢測:Randon變換與Hough變換
OpenCV 提取圖片中的曲線
OpenCV:曲線的檢測與提取-0
//========================
OpenCV 填充(ROI)+模糊操作
opencv - python 間隙填充輪廓/線條
如何用opencv填充輪廓線
c – 用opencv python填充輪廓
OpenCV的輪廓查找和填充
Opencv怎么填充邊緣內的區域
//========================
OpenCV曲線擬合與圓擬合-流浪的魚-51CTO博客
【OpenCV入門教程之十一】 形態學圖像處理(二):開運算、閉運算、形態學梯度、頂帽、黑帽合輯 - 【淺墨的游戲編程Blog】毛星云(淺墨)的專欄 - CSDN博客
OpenCV 輪廓匹配 - vine_branches的專欄 - CSDN博客
Opencv2.4學習::二值化(2)threshold - dieju8330的博客 - CSDN博客
OpenCV成長之路(8):直線、輪廓的提取與描述 - ☆Ronny丶 - 博客園
Opencv-Python學習筆記六——邊界增加copyMakeBorder,位運算bitwise_*,色彩空間cvtColor - 簡書
//==================
PHP驗證碼[,PHP檢驗碼][,PHP校驗碼][,PHP生成驗證碼][,PHP獲取驗證碼] - barack-毛巴馬的個人空間 - OSCHINA
10-1驗證碼生成+10-2生成tfrecord - Josie_chen - 博客園
ASP.NET圖形驗證碼的生成 - JustXIII - 博客園
【轉】Java生成圖片驗證碼 - shindoyang - 博客園
【驗證碼生成及破解】第一部分:驗證碼生成及驗證碼圖片生成TFRecord - 寸先生的AI道路 - CSDN博客
python3生成驗證碼代碼 - 知乎
//=================
https://blog.csdn.net/sinat_14916279/article/details/56489601
https://github.com/LouieYang/CAPTCHA-caffe
/*--------------------------分割線-------------------------------------*/
測試記錄:
在caffe基礎環境下添加兩個包:
python -m pip install captcha
python -m pip install h5py
這個測試項目的是python2環境,我的caffe環境是python3所以要改造一下;
python generator/generator.py --ntrain 200 --nval 100
generator.py:
print格式改成p3寫法
json_content.iteritems()=>json_content.items()
添加兩個導入
from?PIL?import?Image import?h5py
im.resize的參數改為tuple
solver.prototxt中的net改為相對于命令運行目錄,即添加model/
caffe train --solver=model/solver.prototxt
參考:
https://github.com/apache/incubator-mxnet/issues/3205
https://stackoverflow.com/questions/30418481/error-dict-object-has-no-attribute-iteritems/30418498
https://stackoverflow.com/questions/20443846/python-pil-nameerror-global-name-image-is-not-defined
https://stackoverflow.com/questions/49565298/pil-valueerror-unknown-resampling-filter-how-to-resize-images-uploaded-on-fla
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。