由于移动设备的处理能力和储存空间限制,在移动设备上执行光学字符识别(OCR)一直以来都是一项较大的挑战。随着LEADTOOLS HTML5的出现,在移动设备上执行光学字符识别(OCR)变成可能。凭借LEADTOOLS HTML5提供的HTML5查看器和RESTful Web服务,开发人员可以在任何桌面,平板电脑和移动设备上面创建难以置信的光学字符识别(OCR)应用程序。接下来,我们将展示如何在通过RESTful Web服务实现整页识别。

在无需下载大型的语言识别库和可执行文件的情况下,LEADTOOLS OCR RESTful Web服务提供了一项非常简便的方法将OCR识别添加到应用程序。通过简单的参数设置,并返回一个易于解析的带有文本的JSON结构。

通过查看器内置的rubber band事件,选择一块矩形区域。使用鼠标点击,并拖动鼠标,或者在触屏上滑动手指,用户可以在图像上选择一块矩形区域,然后处理事件,并将坐标传递到Web服务。一旦服务完成处理任务,接下来用户就可以使用JSON来解析响应并根据应用程序需要来显示或者使用所识别的文本。下面的例子,我们只是简单地显示了提示框中的文本。

_selectRecognizeArea_RubberBandCompleted$1: function HTML5DemosLibrary__ocrDemo$_selectRecognizeArea_RubberBandCompleted$1(sender, e) {

// Get the selected area and use that as a zone for the OCR service

var searchArea = Leadtools.LeadRectD.fromLTRB(e.get_point1().get_x(), e.get_point1().get_y(), e.get_point2().get_x(), e.get_point2().get_y());

var visibleRect = _viewer.imageControlRectangle(true);

searchArea.intersect(visibleRect);

searchArea = _viewer.convertRect(Leadtools.Controls.CoordinateType.control, Leadtools.Controls.CoordinateType.image, searchArea);

if (searchArea.get_width() > 3 && searchArea.get_height() > 3) {

this._recognize$1(searchArea);

}

},

_recognize$1: function HTML5DemosLibrary__ocrDemo$_recognize$1(searchArea) {

// display the loading gif while we wait

this.beginOperation();

// build the service request

var rest = this.buildServiceUrl('ocr.svc');

rest += '/GetText?uri=';

rest += _viewer.get_imageUrl();

var imageSize = _viewer.get_imageSize();

rest += '&width=';

rest += parseInt(imageSize.get_width());

rest += '&height=';

rest += parseInt(imageSize.get_height());

if (!searchArea.get_isEmpty()) {

// no selection was made, recognize the whole image

rest += '&left=';

rest += parseInt(searchArea.get_left());

rest += '&top=';

rest += parseInt(searchArea.get_top());

rest += '&right=';

rest += parseInt(searchArea.get_right());

rest += '&bottom=';

rest += parseInt(searchArea.get_bottom());

}

// create the request and event handler

var request = new XMLHttpRequest();

var _this = this;

var readyStateChanged = function() {

if (request.readyState === 4) {

if (request.status === 200) {

var results = null;

if (request.responseText != null && request.responseText.length > 0) {

results = JSON.parse(request.responseText);

}

else {

alert('No text was found in the specified area, please select another area that contains text and try again.');

}

request.onreadystatechange = null;

request = null;

_this.endOperation(false);

if (results != null) {

alert (results);

}

}

else {

_this.showRequestError(request);

}

}

};

// send the request

request.onreadystatechange = readyStateChanged;

request.open('GET', rest, true);

request.send();

},

运行上面的代码,你会发现如果没有矩形传递给识别功能,LEADTOOLS会创建一个完整的图像然后调用web服务。因此,你需要创建一个非常简单的按钮处理程序来完成整页识别。

var recognizeButton = document.getElementById('recognizeButton');

recognizeButton.addEventListener('click', function(e) {

// recognize the entire image by sending an empty zone

_this._recognize$1(Leadtools.LeadRectD.get_empty());

}, false);

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至hey@evget.com

文章转载自:慧都控件网

html5 ocr图片识别,OCR识别控件LEADTOOLS HTML5案例:整页OCR识别相关推荐

  1. 让一个图片填满一个控件_如何在Android中实现一个全景图控件(二)

    一.背景 在 如何在Android中实现一个全景图控件(一)中,介绍了项目的一些基本情况(有 demo 演示),如果项目对你有帮助,希望文章赏个赞,项目 star 一下. 项目地址:https://g ...

  2. HTML5超简单的日期时间控件

    HTML5超简单的日期时间控件 时间都是宝贵的,尤其是开发人员,所以为了节省时间,我直接展示下效果,符合您的要求就采纳,不符合,就不用继续看了! 1.1 日期控件效果: 1.2 时间控件展示: 2.1 ...

  3. 广告图片自动轮播控件

    2019独角兽企业重金招聘Python工程师标准>>> 自定义广告轮播 自定义控件ImageCycleView 每个广告页的对象(包含具体显示图片.内容.id等) 自定义广告控件 I ...

  4. java图片轮播_java制作广告图片自动轮播控件

    首页图片的轮播 /** * 广告图片自动轮播控件 * */ public class ImageCycleView extends LinearLayout { /** * 上下文 */ privat ...

  5. MFC怎么让图片适应picture control控件的大小

    最近做项目时,遇到一个问题,想要让picture control中的图片显示与该控件的大小一致,用的环境是vs2008,添加一个控件后,更改其type为bitmap,此时的控件大小不能改变,需要将Ce ...

  6. Windows应用程序文件格式转换控件LEADTOOLS ePrint Professional

    2019独角兽企业重金招聘Python工程师标准>>> LEADTOOLS ePrint Professional控件是一个多功能一体化文件转换解决方案,它可帮助您将任何Window ...

  7. 一些做扫描识别的第三方控件

    Dynamic Web TWAIN 9.0 摘要:Dynamic Web TWAIN 应用于Web应用程序的TWAIN扫描识别工具,支持所有主流浏览器 ImagXpress v12 摘要:业界最先进的 ...

  8. android 控件高度和图片一样高,Android 根据图片宽高比例设置控件宽高

    这个方式适用于一个界面少量图片. 主要的计算公式就是得到当前控件最大的显示宽度(高度),一般填充屏幕的话,就直接取屏幕的宽度了. 得到宽度除以图片宽除以高,也可以直接得到图片宽高的比例.如下公式 这种 ...

  9. iOS 自定义图片无限轮播控件

    一:简介 图片轮播功能在App中是一个非常常见的功能,即允许定时滚动,也允许拖拽滚动,也可以点击每张图片触发事件. 二:实现方式 图片轮播功能的实现方式有很多中, UIScrollView + N个U ...

最新文章

  1. 记一次与为知笔记的客服沟通
  2. 方案猿身高project联赛,艺术家,相反,养殖场!-------三笔
  3. maven配置阿里云镜像后Eclipse不生效解决办法
  4. 函数调用方式__stdecl _stdcall _fastcall __thiscall介绍
  5. 读取 wps_软件前世今生篇之WPS(求伯君1988年先于OFFICE研发出WPS)
  6. P2447 [SDOI2010]外星千足虫
  7. 不太平凡的2020、平凡的我
  8. restapi(0)- 平台数据维护,写在前面
  9. Fedora 13 正确安装 VirtualBox 3.2.x 的 步骤
  10. 超轻量级PHP框架BroPHP
  11. 【渝粤教育】国家开放大学2018年春季 8662-22T特色课(1) 参考试题
  12. 图的实验——图的主要遍历算法实现_深度优先搜索遍历图
  13. (转载)web.xml中 IntrospectorCleanupListener的作用
  14. Win10系统下CUDA10.0的安装
  15. 优制网亮相“2016工业软件与制造业融合发展论坛”
  16. 修复图片音频全新升级带特效喝酒神器小游戏微信小程序源码下载-多种游戏支持流量主
  17. [绍棠] iOS视频播放AVPlayer的视频内容拉伸设置
  18. 你绝对能懂的“腐烂的橘子”解法
  19. 面试java工程师的自我介绍
  20. scrapy过滤重复数据和增量爬取

热门文章

  1. 40-400-030-运维-优化-MySQL入门调优脚本tuning-primer的使用
  2. 20-10-025-安装-KyLin-2.6.0-单机版安装(MAC官网下载)成功
  3. 95-190-450-源码-window-Trigger-ContinuousProcessingTimeTrigger
  4. 【java】IDEA安装VisualVM插件-使用介绍 检测死锁 内存 cpu 慢方法
  5. PostgreSQL实现时间按月,日,小时分组查询
  6. hive-02-hive文件存储格式
  7. 挖出一个面试刷题的宝藏资源,赶紧收下了~
  8. Flask蓝图使用的方法
  9. Hibernate框架原理及使用
  10. Spring框架----IOC的概念和作用之工厂模式