2013-03-13 27 views
2

我試圖使用tess4j(1.1)爲tesseract讀取圖像,但無法讀取具有背景圖像的數字/字符,所以我應用了對圖像和圖像更改的閾值黑色和白色,但也存在問題相同。tesseract沒有閱讀使用java背景圖像的文本和數字

所以我想知道,

是有可能通過使用tess4j(tesserarct)來讀取字符/它在後臺背景顏色或圖像的數字。 如果可能的話嘗試提供一些線索。

OR

是有可能得到通過做一些改變在traineddata字符識別

對於這樣的情況下產生,是javacv唯一的選擇,而不是正方體?

我也在尋找神經網絡的機會,但它似乎需要更多的時間。

是否有解決方案?

使用tess4j例子是

File imageFile = new File("myimage.jpg"); 

Tesseract instance = Tesseract.getInstance(); 

String result = instance.doOCR(imageFile); 

System.out.println(result); 
+0

你可以發佈你的圖像的例子嗎? – nguyenq 2013-03-14 01:44:00

+0

嗨,你可以在這裏查看圖片> http://3.bp.blogspot.com/-rNbn4r1p2lE/UCUdqjlJU4I/AAAAAAAALdk/6GyWaINdKp4/s1600/Citibank+Rewards+Card.jpg – Ruju 2013-03-14 05:59:06

回答

0

正方體不用於圖像處理的最佳方式。

還有其他更好的選擇,如神經網絡,模板匹配和其他。

在任何情況下,都需要清理圖像背景,所以選擇javacv進行圖像背景清理。

並且直到現在tesseract不能識別數字。所以我認爲神經網絡是圖像文本閱讀和使用的好選擇,我能夠獲得大約60%的準確度結果。

0

嘗試Jumio Netswipe SDK讀取信用卡http://jumio.com/products/netswipe/overview/

+0

這很好,但條件是,我想找到開源的解決方案。 – Ruju 2013-03-18 04:57:55

+0

不要以爲你會找到解決這樣一個專門和複雜的問題的開源 - 也許你會和我錯了;) – 2013-03-20 23:19:53