当前位置: 首页 > news >正文

展示营销类网站wordpress 如何编辑页面

展示营销类网站,wordpress 如何编辑页面,自己做的网站怎么上排行榜,关于校园网站建设的通知Java可使用的OCR工具Tess4J使用举例 1.简介1.1 简单介绍1.2 官方说明 2.使用举例2.1 依赖及语言数据包2.2 核心代码2.3 识别身份证信息2.3.1 核心代码2.3.2 截取指定字符2.3.3 去掉字符串里的非中文字符2.3.4 提取出生日期#xff08;待优化#xff09;2.3.5 实测 3.总结 1.简… Java可使用的OCR工具Tess4J使用举例 1.简介1.1 简单介绍1.2 官方说明 2.使用举例2.1 依赖及语言数据包2.2 核心代码2.3 识别身份证信息2.3.1 核心代码2.3.2 截取指定字符2.3.3 去掉字符串里的非中文字符2.3.4 提取出生日期待优化2.3.5 实测 3.总结 1.简介 1.1 简单介绍 Lept4J和Tess4J都是基于Tesseract OCR引擎的Java接口可以用来识别图像中的文本 前者是Leptonica图像处理库的Java封装提供了图像的加载、处理、分析等功能。后者是Tesseract OCR引擎的Java封装提供了图像的OCR识别、PDF文档的生成等功能。 Lept4J和Tess4J的区别在于Lept4J主要负责图像的预处理而Tess4J主要负责图像的后处理特点分别是 Lept4J支持多种图像格式可以进行图像的缩放、旋转、裁剪、二值化、降噪等操作提高图像的质量和识别率。Tess4J支持多种语言的识别可以生成文本、HTML、PDF等格式的输出提供了多种识别模式和参数设置满足不同的需求。 根据具体场景和需求可以选择使用Lept4J或Tess4J或者结合使用两者以达到最佳的效果。 1.2 官方说明 官网https://tess4j.sourceforge.net/ 描述A Java JNA wrapper for Tesseract OCR API.Tess4J is released and distributed under the Apache License, v2.0 and is also available from Maven Central Repository. 特性The library provides optical character recognition (OCR) support for: TIFF, JPEG, GIF, PNG, and BMP image formatsMulti-page TIFF imagesPDF document format 2.使用举例 2.1 依赖及语言数据包 !-- https://mvnrepository.com/artifact/net.sourceforge.tess4j/tess4j -- dependencygroupIdnet.sourceforge.tess4j/groupIdartifactIdtess4j/artifactIdversion5.9.0/version /dependency语言数据包下载地址https://github.com/tesseract-ocr/tessdata 2.2 核心代码 /*** 识别图片字符信息** param imagePath 图片路径*/private static String recognitionString(String imagePath) {File imageFile new File(imagePath);ITesseract instance new Tesseract();// 1.语言数据包路径instance.setDatapath(tessdata);// 2.加载语言文件名称instance.setLanguage(chi_sim);String result ;try {result instance.doOCR(imageFile);} catch (TesseractException e) {e.printStackTrace();}return result;}2.3 识别身份证信息 2.3.1 核心代码 /*** 识别身份证信息** param imagePath 图片路径*/private static MapString, Object recognitionIdentityCardInfo(String imagePath) {MapString, Object res new HashMap(2);// 识别图片File imageFile new File(imagePath);BufferedImage bufferedImage null;try {bufferedImage ImageIO.read(imageFile);} catch (IOException e) {e.printStackTrace();}ITesseract instance new Tesseract();instance.setDatapath(tessdata);instance.setLanguage(chi_sim);ListWord words instance.getWords(bufferedImage, 1);// 获取姓名int nameLineIndex 0;if (words.size() nameLineIndex) {res.put(name, getStringByIndex(words.get(0).getText(), 2));}// 获取性别和民族int genderAndNationLineIndex 1;if (words.size() genderAndNationLineIndex) {res.put(gender, getStringByIndex(words.get(1).getText(), 2, 1));res.put(nation, removeNonChinese(getStringByIndex(words.get(1).getText(), 5, -1)));}// 获取出生日期int birthLineIndex 2;if (words.size() birthLineIndex) {res.put(birth, extractBirthDate(getStringByIndex(words.get(2).getText(), 2)));}// 获取住址int addressLineIndex 3;if (words.size() addressLineIndex) {res.put(address, getStringByIndex(words.get(3).getText(), 2).replace(/, ));}// 获取身份证号码int noLineIndex 4;if (words.size() noLineIndex) {res.put(no, getStringByIndex(words.get(4).getText(), 7));}return res;}2.3.2 截取指定字符 /*** 截取指定字符** param inputString 字符串* param indexStart 开始Index* return 截取的字符串*/private static String getStringByIndex(String inputString, int indexStart) {return getStringByIndex(inputString, indexStart, -1);}/*** 截取指定字符** param inputString 字符串* param indexStart 开始Index* param size 截取的字符个数* return 截取的字符串*/private static String getStringByIndex(String inputString, int indexStart, int size) {// 去除字符串两端的空白字符String trimmedString inputString.trim();// 将字符串以空白字符分割StringBuilder res new StringBuilder();String[] words trimmedString.split(\\s);int length words.length;int contentSize indexStart size;if (length indexStart) {int index length;if (size 0 length contentSize) {index contentSize;}for (int i indexStart; i index; i) {res.append(words[i]);}}return res.toString();}2.3.3 去掉字符串里的非中文字符 /*** 去掉字符串里的非中文字符** param inputString 字符串* return 中文字符串*/private static String removeNonChinese(String inputString) {// 匹配非汉字字符的正则表达式String regex [^\u4E00-\u9FA5];Pattern pattern Pattern.compile(regex);Matcher matcher pattern.matcher(inputString);// 替换非汉字字符为空格return matcher.replaceAll();}2.3.4 提取出生日期待优化 /*** 提取出生日期** param inputString 字符串* return 出生日期*/private static String extractBirthDate(String inputString) {// 匹配日期格式的正则表达式String regex (\\d{4}年\\d{2}月\\d{2}日);Pattern pattern Pattern.compile(regex);Matcher matcher pattern.matcher(inputString);// 提取匹配到的日期if (matcher.find()) {return matcher.group(1);} else {return 未找到日期;}}2.3.5 实测 图片 结果 {name代用名, gender男, nation汉, birth2013年05月06日, address湖南省长沙市开福区送道街仪幸福小区居民组, no30512198908131367}姓名 正确性别 正确民族 正确出生 正确住址 错了一个字巡多了一个字仪公民身份证号码 缺少首位4 3.总结 Java能用挺友好缺点是识别率有点儿低
http://www.pierceye.com/news/956826/

相关文章:

  • 网站推广 济南江西 网站 建设 开发
  • 视频 播放网站怎么做的ppt模板大师
  • 桂林北站到象鼻山景区怎么坐车wordpress更改上传
  • 温州制作手机网站wordpress电子书下载
  • 企业型网站怎么做wordpress邮件服务器
  • 龙华网站(建设信科网络)网站建设哪家好推荐万维科技
  • 克拉玛依网站建设公司网站 正在建设中
  • 虚拟主机可以做视频网站嘛有哪些网站有收录做红酒的商行
  • 广州seo优化推广外贸网站优化谷歌关键词排名
  • 网络服务网站建设网站策划书包括哪些内容?
  • ps学做翻页相册网站wordpress导航图标
  • 模板网站的弊端在哪杨家平网站建设
  • 网站模板带手机站手表网站十大品牌
  • 物流网站功能设计师招聘网站有哪些
  • 知名网站开发哪里有重庆公司网站建设价格
  • 南头做网站公司重庆建设厂招聘信息网站
  • 网站建设的基本条件外贸建设网站制作
  • 移动电子商务平台就是手机网站奉化首页的关键词优化
  • 公司怎么建立一个网站展示型网站模板代码
  • 益阳网页设计十堰seo优化服务
  • discuz论坛建站教程微商城开发小程序开发
  • 饰品网站建设炫丽的网站
  • 网站建设制作介绍河南企业建站多站点管理系统
  • 网站盗号怎么做设计说明模板200字
  • 赣州人才网站搜索引擎广告是什么
  • 广州app开发网站建设与网站优化销售
  • 做淘客哪个网站好点如何做好网站建设销售
  • 手机端网站开发视频wordpress删除评论
  • 台州网站建设推广公司随州有哪些网站建设的公司
  • 定制商品的网站建设word超链接网站怎样做