ocr文字识别html,LEADTOOLS 创建基于HTML5的零占用OCR文字识别

本文介绍了LEADTOOLS提供的HTML5 OCR开发包,展示了如何利用其功能创建能在多种设备上运行的高效率识别应用,包括跨平台图像查看器、RESTful Web服务、多语言支持和强大的OCR引擎。通过实例演示了如何集成OCR功能到网页应用中,显著提升开发效率和用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

LEADTOOLS提供了屡获奖项的文字识别OCR开发包。使用全新的HTML5查看器和RESTful Web服务,你可以创建一个令人难以置信的识别应用程序,它能够运行在任意的台式电脑、平板电脑或移动设备上。无需牺牲移动设备的速度和功能,开发者现在可以享受到强大桌面应用程序拥有的所有好处。由于应用程序本质上是跨平台的,因此程序员可以节省很多时间以及测试的成本,在更新和维护应用程序时拥有一个更平和的心态。

LEADTOOLS SDK HTML5&OCR的主要功能

· 用于跨平台图像查看的HTML5/JavaScript Viewer控件。

· 支持HTML5,可以运行在任何台式机、平板电脑或移动设备上的浏览器。

· 支持鼠标和多点触控(手势)输入。

· 交互模式包括:

a. 平移

b. 缩放

c. 区域缩放

d. 以点为中心缩放

e. 放大镜

f. 合拢分开手指进行缩放

g. 回弹效果

· 基于物理和逻辑单元显示图像。

· 图像操作内置以下动作:

a. 旋转

b. 翻转

c. 缩放

· 本地化的图像注释和标记。

· 包含源码,易于定制和品牌化。

· 扩展LEADTOOLS RESTful Web服务,添加高级功能,如扩展后文件格式支持(TIFF、PDF、DOC、DICOM等),OCR和条码。

· 快速、准确、多线程的OCR文字识别引擎,用于桌面应用程序或高性能的服务器环境。

· 整页和区域OCR。

· 支持广泛的语言和字符集,包括拉丁文、斯拉夫字母、东亚语言和阿拉伯语。

· 强大的文档图像清理和预处理功能

· 从任意颜色、灰度或黑白图像中提取文本。

· 使用LEADTOOLS Cloud SDK轻松创建灵活的、强大的和高效的分布式OCR应用程序。

包含 HTML5 & OCR文字识别技术的SDK产品

HTML5 / JavaScript Viewer控件

这个例子我们使用到HTML5 Image Viewer控件,展示了如何调用OCR RESTful web服务。文章中的示例并没有包含所有代码。

OCR RESTful Web服务

LEADTOOLS OCR RESTful Web 服务是将OCR功能添加到任意应用程序中的简单方法,无需下载庞大的语言识别库和可执行程序。它只需要一组简单的参数(原始图像和识别区域),并将结果以容易解析的JSON结构返回。

在这个示例中,我们为您展示了如何使用web服务执行两种类别的识别:部分的或整页的。第一种通过使用查看器内置的rubber band事件选择一块小区域完成。使用鼠标单击拖动或手指触摸屏幕滑动,用户可以在图像中选择一个矩形,触发事件然后将它们的坐标传递给后台的web Service。

一旦服务按照onReadyStateChanged事件处理完成,你就可以使用JSON解析响应,根据应用程序的需要显示或使用识别出的文本。在下面的例子中,我们会在一个警告框中显示文字。

_selectRecognizeArea_RubberBandCompleted$1:

function HTML5DemosLibrary__ocrDemo$

_selectRecognizeArea_RubberBandCompleted$1(sender, e) {

// 获取选中的区域,将它作为OCR文字识别的一个区域

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) {

// 当等待时,显示正在加载的图片

this.beginOperation();

// 创建请求

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()) {

// 没有选择,则识别整个页面

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());

}

// 创建请求和事件句柄

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);

}

}

};

// 发送请求

request.onreadystatechange = readyStateChanged;

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

request.send();

},

c9972a3a5267acb0e914b1e1855a3683.png

d7096850d0054fe60e856d5b7a631ea1.png

你可能注意到了如果没有给识别函数传递矩形,它会为整个图像创建一个矩形,然后调用web服务。因此程序员需要做的只是创建一个简单的按钮事件处理器完成整个页面的OCR。

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

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

// 发送一个空区域,识别整个图像

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

}, false);

总结

LEADTOOLS为开发者提供了世界一流的稳定图像库。易用的高级编程接口使业务关键型应用程序的快速开发变为可能。

HTML5和OCR RESTful Web服务是LEADTOOLS诸多功能中的一个。

标签:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值