文字识别demo,对图片中的文字进行ocr提取,提取后进行定位。

文字识别demo


HarmonyOS
2024-05-21 20:37:48
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
flyCloud00

对图片中的文字进行ocr提取,提取后进行定位。

使用的核心API

import image from '@ohos.multimedia.image'; 
// 在使用通用文字识别时,将实现文字识别的相关的类添加至工程。 
import textRecognition from '@hms.ai.ocr.textRecognition'; 
import hilog from '@ohos.hilog'; 
import resourceManager from '@ohos.resourceManager';
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

核心代码解释

import image from '@ohos.multimedia.image'; 
// 在使用通用文字识别时,将实现文字识别的相关的类添加至工程。 
import textRecognition from '@hms.ai.ocr.textRecognition'; 
import resourceManager from '@ohos.resourceManager'; 
 
@Entry 
@Component 
struct IndexOCR { 
  @State text1: string = ''; 
  @State text2: string = ''; 
  @State text3: string = ''; 
  @State language: string[] = []; 
 
  build() { 
    Column() { 
      Button() { 
        Text("testOCR") 
          .fontColor(Color.White) 
          .fontSize(20) 
      } 
      .type(ButtonType.Capsule) 
      .backgroundColor("#0D9FFB") 
      .width("80%") 
      .height(50) 
      .margin(10) 
      .onClick(() => { 
        this.testOCR(); 
        console.log("******"); 
      }) 
 
      Text('支持的语言类别:' + this.language.toString()) 
      Text(this.text1) 
      Text('单行文字与坐标:' + this.text2) 
      Text('单个字与坐标:' + this.text3) 
    } 
    .width('100%') 
    .height('100%').justifyContent(FlexAlign.Center) 
  } 
 
  async testOCR() { 
    // 将图片转换为PixelMap, 可以通过context内的资源管理获取 
    let res = $r('app.media.img_1'); 
    console.log(res + ''); 
    let resourceValue: resourceManager.Resource = { 
      bundleName: res.bundleName, 
      moduleName: res.moduleName, 
      id: res.id 
    } 
    let resource = await getContext(this).resourceManager.getMediaContent(resourceValue); 
    let imageResource = image.createImageSource(resource.buffer); 
    let pixelMapInstance = await imageResource.createPixelMap(); 
    console.log(res + ''); 
    // 调用文本识别接口 实例化VisionInfo对象,并传入待检测图片pixelMap。 
    // VisionInfo为待OCR检测识别的输入图片,目前仅支持PixelMap类型的视觉信息。 
    let visionInfo: textRecognition.VisionInfo = { 
      pixelMap: pixelMapInstance, 
    }; 
    //配置通用文本识别的配置项TextRecognitionConfiguration,用于配置是否支持朝向检测等。 
    let textConfiguration: textRecognition.TextRecognitionConfiguration = { 
      isDirectionDetectionSupported: true 
    }; 
    // 调用textRecognition的 recognizeText()接口,对识别到的结果进行处理。 
    let recognitionResult = await textRecognition.recognizeText(visionInfo, textConfiguration); 
    this.language = await textRecognition.getSupportedLanguages(); 
    console.log(recognitionResult + ''); 
    // 将结果更新到Text中显示 
    let recognitionString = JSON.stringify(recognitionResult); 
    this.text1 = recognitionResult.value; 
    // if (recognitionResult.blocks[0].lines[0]. === 1) 
    this.text2 = recognitionResult.blocks[0].value + '\n坐标:' + JSON.stringify(recognitionResult.blocks[0].lines[0].cornerPoints); 
    this.text3 = JSON.stringify(recognitionResult.blocks[0].lines[0].words[3].value) + '\n坐标:' + JSON.stringify(recognitionResult.blocks[0].lines[0].words[3].cornerPoints); 
    console.log("recognitionString"); 
    // hilog.info(0x0000, 'testTag', "textRecognition data is " + this.recognitionString); 
    pixelMapInstance.release(); 
    imageResource.release(); 
  } 
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.

上诉是AI识别图片文字,进行ocr提取的demo,对于主要内容,可以参考一下。

分享
微博
QQ
微信
回复
2024-05-22 16:18:20
相关问题
通用文字识别OCR)应用
1886浏览 • 1回复 待解决
基于ImageKit图片进行处理
1546浏览 • 1回复 待解决
基于PhotoViewPicker图片进行操作
1811浏览 • 1回复 待解决
有没有实时相机预览结合OCR识别demo
2600浏览 • 1回复 待解决
指定url图片进行下载保存
2104浏览 • 1回复 待解决
HarmonyOS 文字识别功能有相关文档吗?
1055浏览 • 1回复 待解决
如何相册图片进行编辑裁剪
2842浏览 • 1回复 待解决
HarmonyOS 怎么图片进行压缩上传
923浏览 • 1回复 待解决
如何图片进行高斯模糊处理
3053浏览 • 1回复 待解决
HarmonyOS 提取汉字首字母
989浏览 • 1回复 待解决
HarmonyOS 图片+文字排列问题
687浏览 • 1回复 待解决
HarmonyOS 字符串进行md5加密demo
627浏览 • 1回复 待解决