图片文字-敏感词过滤
文章中包含的图片要识别文字,过滤掉图片文字的敏感词
图片文字识别:
OCR (Optical Character Recognition,光学字符识别):是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程
Tesseract-OCR 特点:
1、Tesseract支持UTF-8编码格式,并且可以“开箱即用”地识别100多种语言。
2、Tesseract支持多种输出格式:纯文本,hOCR(HTML),PDF等
3、官方建议,为了获得更好的OCR结果,最好提供给高质量的图像。
4、Tesseract进行识别其他语言的训练 具体的训练方式,请参考官方提供的文档:https://tesseract-ocr.github.io/tessdoc/
Tesseract案例:
1、导入依赖
<dependency> <groupId>net.sourceforge.tess4j</groupId> <artifactId>tess4j</artifactId> <version>4.1.1</version> </dependency>
2、导入中文字体库, 把资料中的tessdata文件夹拷贝到自己的工作空间下
3、编写测试类进行测试
package com.heima.tess4j; import net.sourceforge.tess4j.Tesseract; import net.sourceforge.tess4j.TesseractException; import java.io.File; public class Application { /** * 识别图片中的文字 * @param args */ public static void main(String[] args) throws TesseractException { //创建实例 Tesseract tesseract = new Tesseract(); //设置字体库路径 tesseract.setDatapath("D:\\workspace\\tessdata"); //设置语言 --> 简体中文 tesseract.setLanguage("chi_sim"); File file = new File("E:\\11.jpg"); //识别图片 String result = tesseract.doOCR(file); System.out.println("识别的结果为:" + result.replaceAll("\\r/\\n", "-")); } }