html5 ocr图片识别,OCR识别控件LEADTOOLS HTML5案例:整页OCR识别
由于移动设备的处理能力和储存空间限制,在移动设备上执行光学字符识别(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识别相关推荐
- 让一个图片填满一个控件_如何在Android中实现一个全景图控件(二)
一.背景 在 如何在Android中实现一个全景图控件(一)中,介绍了项目的一些基本情况(有 demo 演示),如果项目对你有帮助,希望文章赏个赞,项目 star 一下. 项目地址:https://g ...
- HTML5超简单的日期时间控件
HTML5超简单的日期时间控件 时间都是宝贵的,尤其是开发人员,所以为了节省时间,我直接展示下效果,符合您的要求就采纳,不符合,就不用继续看了! 1.1 日期控件效果: 1.2 时间控件展示: 2.1 ...
- 广告图片自动轮播控件
2019独角兽企业重金招聘Python工程师标准>>> 自定义广告轮播 自定义控件ImageCycleView 每个广告页的对象(包含具体显示图片.内容.id等) 自定义广告控件 I ...
- java图片轮播_java制作广告图片自动轮播控件
首页图片的轮播 /** * 广告图片自动轮播控件 * */ public class ImageCycleView extends LinearLayout { /** * 上下文 */ privat ...
- MFC怎么让图片适应picture control控件的大小
最近做项目时,遇到一个问题,想要让picture control中的图片显示与该控件的大小一致,用的环境是vs2008,添加一个控件后,更改其type为bitmap,此时的控件大小不能改变,需要将Ce ...
- Windows应用程序文件格式转换控件LEADTOOLS ePrint Professional
2019独角兽企业重金招聘Python工程师标准>>> LEADTOOLS ePrint Professional控件是一个多功能一体化文件转换解决方案,它可帮助您将任何Window ...
- 一些做扫描识别的第三方控件
Dynamic Web TWAIN 9.0 摘要:Dynamic Web TWAIN 应用于Web应用程序的TWAIN扫描识别工具,支持所有主流浏览器 ImagXpress v12 摘要:业界最先进的 ...
- android 控件高度和图片一样高,Android 根据图片宽高比例设置控件宽高
这个方式适用于一个界面少量图片. 主要的计算公式就是得到当前控件最大的显示宽度(高度),一般填充屏幕的话,就直接取屏幕的宽度了. 得到宽度除以图片宽除以高,也可以直接得到图片宽高的比例.如下公式 这种 ...
- iOS 自定义图片无限轮播控件
一:简介 图片轮播功能在App中是一个非常常见的功能,即允许定时滚动,也允许拖拽滚动,也可以点击每张图片触发事件. 二:实现方式 图片轮播功能的实现方式有很多中, UIScrollView + N个U ...
最新文章
- 记一次与为知笔记的客服沟通
- 方案猿身高project联赛,艺术家,相反,养殖场!-------三笔
- maven配置阿里云镜像后Eclipse不生效解决办法
- 函数调用方式__stdecl _stdcall _fastcall __thiscall介绍
- 读取 wps_软件前世今生篇之WPS(求伯君1988年先于OFFICE研发出WPS)
- P2447 [SDOI2010]外星千足虫
- 不太平凡的2020、平凡的我
- restapi(0)- 平台数据维护,写在前面
- Fedora 13 正确安装 VirtualBox 3.2.x 的 步骤
- 超轻量级PHP框架BroPHP
- 【渝粤教育】国家开放大学2018年春季 8662-22T特色课(1) 参考试题
- 图的实验——图的主要遍历算法实现_深度优先搜索遍历图
- (转载)web.xml中 IntrospectorCleanupListener的作用
- Win10系统下CUDA10.0的安装
- 优制网亮相“2016工业软件与制造业融合发展论坛”
- 修复图片音频全新升级带特效喝酒神器小游戏微信小程序源码下载-多种游戏支持流量主
- [绍棠] iOS视频播放AVPlayer的视频内容拉伸设置
- 你绝对能懂的“腐烂的橘子”解法
- 面试java工程师的自我介绍
- scrapy过滤重复数据和增量爬取
热门文章
- 40-400-030-运维-优化-MySQL入门调优脚本tuning-primer的使用
- 20-10-025-安装-KyLin-2.6.0-单机版安装(MAC官网下载)成功
- 95-190-450-源码-window-Trigger-ContinuousProcessingTimeTrigger
- 【java】IDEA安装VisualVM插件-使用介绍 检测死锁 内存 cpu 慢方法
- PostgreSQL实现时间按月,日,小时分组查询
- hive-02-hive文件存储格式
- 挖出一个面试刷题的宝藏资源,赶紧收下了~
- Flask蓝图使用的方法
- Hibernate框架原理及使用
- Spring框架----IOC的概念和作用之工厂模式