Is there any way I can pick a text from the image (OCR) IN REACT NATIVE

Viewed 34

This is the image I want to bring those text present in the image in my valve serial number used many libraries https://github.com/ashrithks/rn-text-detector https://github.com/zsajjad/react-native-text-detector It does not work in iOS but it works in android while implementing in iOS I got this error

CompileC /Users/Macbook/Library/Developer/Xcode/DerivedData/CRANE-ciqqhizauxjmlaevomkjkiypelyu/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/RNTextDetector.build/Objects-normal/x86_64/RNTextDetector.o /Users/Macbook/Documents/GitHub/crane-app/CRANE/node_modules/rn-text-detector/ios/RNTextDetector.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler (in target 'RNTextDetector' from project 'Pods') (1 failure)

The code I used inside the

import RNTextDetector from "rn-text-detector";


const captureImage = async type => {
    let options = {
      mediaType: type,
      maxWidth: 300,
      maxHeight: 550,
      quality: 1,
      videoQuality: 'low',
      durationLimit: 30, //Video max duration in seconds
      saveToPhotos: true,
    };
    let isCameraPermitted = await requestCameraPermission();
    let isStoragePermitted = await requestExternalWritePermission();
    if (isCameraPermitted && isStoragePermitted) {
      launchCamera(options, response => {
        console.log('Response = ', response

);

    if (response.didCancel) {
      alert('User cancelled camera picker');
      return;
    } else if (response.errorCode == 'camera_unavailable') {
      alert('Camera not available on device');
      return;
    } else if (response.errorCode == 'permission') {
      alert('Permission not satisfied');
      return;
    } else if (response.errorCode == 'others') {
      alert(response.errorMessage);
      return;
    }
    console.log('base64 -> ', response.assets[0].base64);
    console.log('uri -> ', response.assets[0].uri);
    console.log('width -> ', response.assets[0].width);
    console.log('height -> ', response.assets[0].height);
    console.log('fileSize -> ', response.assets[0].fileSize);
    console.log('type -> ', response.assets[0].type);
    console.log('fileName -> ', response.assets[0].fileName);
    setFilePath(response.assets[0].uri);

    (async () => {

      const textRecognition = await RNTextDetector.detectFromUri(response.assets[0].uri);

      console.log('Base64_Image', textRecognition);
        setSerialNumber(textRecognition[0].text)

    })();

    RNFS.readFile(response.assets[0].uri, "base64").then(result => {
      // setSingleFileBase64('data:image/png;base64,' + result)

      setImage('data:/' + response.assets[0].type + ';' + 'base64,' + result)
      // console.log('Base64_Image', 'data:/'+response.assets[0].type+';'+'base64,' + result);
      setScreenData({ ...screenData, image1: 'data:/' + response.assets[0].type + ';' + 'base64,' + result });

    })

  });
}
  };

]

0 Answers
Related