Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aarongrider/vision-camera-ocr
VisionCamera Frame Processor Plugin to detect text in real time using MLKit Text Detector (OCR)
https://github.com/aarongrider/vision-camera-ocr
camera mobile react-native
Last synced: 16 days ago
JSON representation
VisionCamera Frame Processor Plugin to detect text in real time using MLKit Text Detector (OCR)
- Host: GitHub
- URL: https://github.com/aarongrider/vision-camera-ocr
- Owner: aarongrider
- License: mit
- Created: 2022-02-18T03:04:41.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-07-31T13:04:59.000Z (3 months ago)
- Last Synced: 2024-10-27T05:07:30.015Z (17 days ago)
- Topics: camera, mobile, react-native
- Language: Java
- Homepage:
- Size: 6.15 MB
- Stars: 244
- Watchers: 4
- Forks: 95
- Open Issues: 34
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# vision-camera-ocr
A [VisionCamera](https://github.com/mrousavy/react-native-vision-camera) Frame Processor Plugin to preform text detection on images using [**MLKit Vision** Text Recognition](https://developers.google.com/ml-kit/vision/text-recognition).
## Installation
```sh
yarn add vision-camera-ocr
cd ios && pod install
```Add the plugin to your `babel.config.js`:
```js
module.exports = {
plugins: [
[
'react-native-reanimated/plugin',
{
globals: ['__scanOCR'],
},
],// ...
```> Note: You have to restart metro-bundler for changes in the `babel.config.js` file to take effect.
## Usage
```js
import { labelImage } from "vision-camera-image-labeler";// ...
const frameProcessor = useFrameProcessor((frame) => {
'worklet';
const scannedOcr = scanOCR(frame);
}, []);
```## Data
`scanOCR(frame)` returns an `OCRFrame` with the following data shape. See the example for how to use this in your app.
``` jsx
OCRFrame = {
result: {
text: string, // Raw result text
blocks: Block[], // Each recognized element broken into blocks
;
};
```The text object closely resembles the object documented in the MLKit documents.
https://developers.google.com/ml-kit/vision/text-recognition#text_structure```
The Text Recognizer segments text into blocks, lines, and elements. Roughly speaking:a Block is a contiguous set of text lines, such as a paragraph or column,
a Line is a contiguous set of words on the same axis, and
an Element is a contiguous set of alphanumeric characters ("word") on the same axis in most Latin languages, or a character in others
```## Contributing
See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.
## License
MIT