diff --git a/src/main/ets/utils/ImageHelper.ets b/src/main/ets/utils/ImageHelper.ets index 170080d..ee1b128 100644 --- a/src/main/ets/utils/ImageHelper.ets +++ b/src/main/ets/utils/ImageHelper.ets @@ -1,4 +1,8 @@ import { image } from '@kit.ImageKit'; +import { FileHelper } from './FileHelper'; +import fs from '@ohos.file.fs'; +import { BusinessError } from '@kit.BasicServicesKit'; +import { textRecognition } from '@kit.CoreVisionKit'; export class ImageHelper { private constructor() { @@ -102,4 +106,37 @@ export class ImageHelper { } return compressedImageData; } + + /** + * 提取图片中文字 + * @param path + * @returns + */ + static recognizeText(path: string): Promise { + return new Promise((resolve, reject) => { + let file = FileHelper.openSync(path, fs.OpenMode.READ_ONLY) + const imageSource = image.createImageSource(file.fd); + + imageSource.createPixelMap().then((pixelMap) => { + let visionInfo: textRecognition.VisionInfo = { + pixelMap: pixelMap + }; + let textConfiguration: textRecognition.TextRecognitionConfiguration = { + isDirectionDetectionSupported: false + }; + + textRecognition.recognizeText(visionInfo, textConfiguration) + .then((data: textRecognition.TextRecognitionResult) => { + resolve(data) + }) + .catch((error: BusinessError) => { + reject(error) + }); + }).catch((err: BusinessError) => { + reject(err) + }); + }); + + + } }