feat(app): 添加图片文字识别功能

- 在 ImageHelper 中添加 recognizeText 方法,用于提取图片中的文字
这个提交包含在:
徐勤民 2025-05-14 18:30:59 +08:00
父节点 e8f0a74636
当前提交 eae80e23ea

查看文件

@ -1,4 +1,8 @@
import { image } from '@kit.ImageKit'; 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 { export class ImageHelper {
private constructor() { private constructor() {
@ -102,4 +106,37 @@ export class ImageHelper {
} }
return compressedImageData; return compressedImageData;
} }
/**
* 提取图片中文字
* @param path
* @returns
*/
static recognizeText(path: string): Promise<textRecognition.TextRecognitionResult> {
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)
});
});
}
} }