|
@@ -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)
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ }
|
|
}
|
|
}
|