使用的核心APIimport image from '@ohos.multimedia.image'; // 在使用通用文字识别时,将实现文字识别的相关的类添加至工程。 import textRecognition from '@hms.ai.ocr.textRecognition'; import hilog from '@ohos.hilog'; import resourceManager from '@ohos.resourceManager';核心代码解释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(); } }上诉是AI识别图片文字,进行ocr提取的demo,对于主要内容,可以参考一下。
使用的核心API
核心代码解释
上诉是AI识别图片文字,进行ocr提取的demo,对于主要内容,可以参考一下。