tess4j图像识别文字
2018-01-16 10:58
197 查看
Maven依赖 <dependency> <groupId>net.sourceforge.tess4j</groupId> <artifactId>tess4j</artifactId> <version>3.2.1</version> </dependency> 发现在识别整张图时,准确率降低。尤其是中文,英文,字符,数字,水印都有的时候。出错率很高。原先一直认为是水印的问题。结果将图片二值化以后,没有水印,识别准确度依旧很低。 偶然的情况,使用局部区域识别,发现,效果很好,准确度大大提高。 然后体用api切换中文,英文识别库,很大程度的提高了准确率。
private static String ocr(String filePath) { String result = null; try { BufferedImage image = ImageIO.read(new File(filePath)); // 这里对图片黑白处理,增强识别率.这里先通过截图,截取图片中需要识别的部分 BufferedImage textImage = ImageHelper.convertImageToGrayscale(ImageHelper.getSubImage(image, 412, 340, 133, 32)); // 图片锐化 textImage = ImageHelper.convertImageToBinary(textImage); // 图片放大倍数,增强识别率(很多图片本身无法识别,放大5倍时就可以轻易识,但是考滤到客户电脑配置低,针式打印机打印不连贯的问题,这里就放大5倍) textImage = ImageHelper.getScaledInstance(textImage, textImage.getWidth() * 2, textImage.getHeight() * 2); textImage = ImageHelper.convertImageToBinary(textImage); //ImageIO.write(textImage, "png", new File("C:\\Users\\JiangJie\\Pictures\\timg_temp.jpg")); Tesseract instance = new Tesseract(); instance.setDatapath(System.getProperty("user.dir"));//设置训练库的位置 instance.setLanguage("chi_sim");//中文识别 //instance.setLanguage("eng");//英文识别 result = instance.doOCR(textImage); } catch (Exception e) { e.printStackTrace(); } return result; } private static String filter(String str) { String regEx = "[`~!@#$%^&*()+=|{}':;,\"\\[\\].<>/?¥……&*()__′_—+|{}【】';:”“’。,、?]"; Pattern p = Pattern.compile(regEx); Matcher m = p.matcher(str); return m.replaceAll("").trim(); }
user.dir 为项目根目录路径,项目跟路径下新建tessdata文件夹,将中、英文.traineddata字库文件copy进去。
相关文章推荐
- Tess4j图片文字识别
- Java使用Tess4J 进行图片文字识别
- tess4j 文字识别
- Java中使用tess4J(Tesseract-OCR)进行图片文字识别(支持中文)
- Tess4J图片文字识别
- java 使用tess4j实现图像文字提取 eclipse的配置
- linux系统如何使用tess4j(java)进行ocr图片文字识别
- 【图片识别】Java中使用tess4J进行图片文字识别(支持中文)(转)
- Java使用Tess4J 进行图片文字识别
- tess4j识别图片中的文字
- 大公司病?记改一个文字颜色的过程
- dede3.1分页文字采集过滤规则详说(图文教程)续四
- Canvas_Textout_文字右对齐
- 对讲机联动模块开发(树莓派文字转语音模块对接)
- 小程序文字跑马灯 h5文字跑马灯
- ios开发之实现长按UITableViewCell弹出UIMenuController, 实现文字拷贝等操作
- RichEdit选中文字右键菜单的实现
- 新浪微博首页文字淡入淡出滚动效果
- 初学者之CSS学习(五)控制文字的css样式