Search code examples
react-nativecameratesseractexpo

Is there a way I can detect text from an Image using Expo React Native?


I am working with Expo, React Native and I want to to be able to detect text from images. Is there an package i can work with to achieve this?

I am using Expo camera module to snap the picture and supply the URI to the text detector I have tried using react-native-text-detector but I am getting the error that the function detectFromUri is not defined. I have also tried with tesserect.js but it fails on import with "unable to resolve variable location".

await this.camera.takePictureAsync(options).then(photo => {
       photo.exif.Orientation = 1;
                //console.log(photo.uri);
        const visionResp = await RNTextDetector.detectFromUri(photo.uri);
        if (!(visionResp && visionResp.length > 0)) {
            throw "UNMATCHED";
        }
        console.log(visionResp);
});

I am expecting the visionResp to log the results returned from the detection but instead i get undefined is not an object (evaluating '_reactNativeTextDetector.default.detectFromUri')


Solution

  • Is your project created with expo-cli?

    If yes, Expo is not supporting OCR currently. There is a feature request on canny.io but you can't know for sure when it will become available. Your only choice is to use an OCR service like this one.Internet connectivity will be required.

    If not, (and the project is created with react-native-cli) you should be able to successfully use react-native-text-detector. Just make sure you link the package correctly. Docs here