HarmonyOS鸿蒙Next中简化文本处理流程,通用文字识别助力提升信息采集效率

HarmonyOS鸿蒙Next中简化文本处理流程,通用文字识别助力提升信息采集效率 随着信息技术的发展、移动设备使用的普及和全球化的商业需求,非结构化数据转换为结构化数据的需求日益增长,数字化成为信息存储和管理的主流趋势。在此背景下,OCR技术应运而生,该技术可以将图像中文本信息转化为计算机等设备可以使用的字符信息,成为现代信息处理的关键技术。

OCR技术丰富了移动设备的文本处理能力,自动化文档处理,减少手动输入,为用户提供了多样化的便捷服务,大幅提升效率,成为App中不可或缺的功能。用户可以通过简单的扫描将文档转换为电子文本,拍照获取及时外语翻译,自动提取证件信息以简化验证流程等。

HarmonyOS SDK 提供了通用文字识别能力,该能力支持特定角度范围内的文本倾斜、拍摄角度倾斜、复杂光照条件以及复杂文本背景等场景的文字识别。目前支持中、英等10+语种的识别。

适用场景

适用于票据、卡证、表格、报刊、书籍等的图像文字识别。

支持文档翻拍和街景翻拍的文字检测与识别。

可集成至其他应用,扩展文字检测、识别功能,并基于识别结果提供翻译、搜索服务。

功能演示

开发步骤

1.在使用通用文字识别时,将实现文字识别的相关的类添加至工程。

import { textRecognition } from '@kit.CoreVisionKit';

2.通过图库获取图片资源,将图片转换为PixelMap。

private async selectImage() {
  let uri = await this.openPhoto();
  if (uri === undefined) {
    hilog.error(0x0000, 'OCRDemo', "Failed to get uri.");
    return;
  }
  this.loadImage(uri);
}

private openPhoto(): Promise<string> {
  return new Promise<string>((resolve, reject) => {
    let photoPicker = new picker.PhotoViewPicker();
    photoPicker.select({
      MIMEType: picker.PhotoViewMIMETypes.IMAGE_TYPE,
      maxSelectNumber: 1
    }).then((res: picker.PhotoSelectResult) => {
      resolve(res.photoUris[0]);
    }).catch((err: BusinessError) => {
      hilog.error(0x0000, 'OCRDemo', `Failed to get photo image uri. code:${err.code},message:${err.message}`);
      resolve('');
    })
  })
}

private loadImage(name: string) {
  setTimeout(async () => {
    let imageSource: image.ImageSource | undefined = undefined;
    let fileSource = await fileIo.open(name, fileIo.OpenMode.READ_ONLY);
    imageSource = image.createImageSource(fileSource.fd);
    this.chooseImage = await imageSource.createPixelMap();
  }, 100)
}

3.实例化VisionInfo对象,并传入待检测图片的PixelMap。

VisionInfo为待OCR检测识别的入参项,目前仅支持PixelMap类型的视觉信息。

let visionInfo: textRecognition.VisionInfo = {
  pixelMap: this.chooseImage
};

4.配置通用文本识别的配置项TextRecognitionConfiguration,用于配置是否支持朝向检测。

let textConfiguration: textRecognition.TextRecognitionConfiguration = {
  isDirectionDetectionSupported: false
};

5.调用textRecognition的recognizeText接口,对识别到的结果进行处理。

当调用成功时,返回结果码0;调用失败时,将返回对应错误码。

recognizeText接口提供了三种调用形式,当前以其中一种作为示例,其他方式可参考API文档。

textRecognition.recognizeText(visionInfo, textConfiguration, (error: BusinessError, data: textRecognition.TextRecognitionResult) => {
  if (error.code !== 0) {
    hilog.error(0x0000, 'OCRDemo', `Failed to recognize text. Code: ${error.code}, message: ${error.message}`);
    return;
  }
  // 识别成功,获取对应的结果
  let recognitionString = JSON.stringify(data);
  hilog.info(0x0000, 'OCRDemo', `Succeeded in recognizing text:${recognitionString}`);

  // 将结果更新到Text中显示
  this.dataValues = data.value;

  if(this.chooseImage && this.imageSource) {
    this.chooseImage.release();
    this.imageSource.release();
  }
});

了解更多详情>>

访问基础视觉服务联盟官网

获取通用文字识别服务开发指导文档


更多关于HarmonyOS鸿蒙Next中简化文本处理流程,通用文字识别助力提升信息采集效率的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

在HarmonyOS鸿蒙Next中,通用文字识别技术通过集成先进的OCR(光学字符识别)算法,能够快速准确地从图像或视频中提取文本信息。该技术支持多种语言和字体,能够识别印刷体和手写体,适用于各种场景,如文档扫描、名片识别、车牌识别等。通过调用鸿蒙系统提供的API,开发者可以轻松将文字识别功能集成到应用中,从而简化文本处理流程,提升信息采集效率。鸿蒙Next的通用文字识别技术还具备实时处理能力,能够在设备端完成识别任务,减少对云端服务的依赖,保障数据安全和隐私。此外,该技术还支持批量处理和自动化流程,进一步提高了工作效率。

更多关于HarmonyOS鸿蒙Next中简化文本处理流程,通用文字识别助力提升信息采集效率的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,通用文字识别技术通过集成先进的OCR(光学字符识别)算法,能够快速、准确地从图像或视频中提取文本信息。开发者只需调用简单的API接口,即可实现复杂场景下的文字识别,如文档、票据、车牌等。这一功能显著简化了文本处理流程,提升了信息采集效率,适用于金融、物流、教育等多个行业,助力应用快速实现智能化升级。

回到顶部