A React Native Vision Camera frame processor plugin for Dynamsoft Document Normalizer.
It can detect document boundaries and run perspective transformation to get a normalized image.
DDN_iOS.MP4
If you do not want to use Vision Camera, you can use the offical React Native package by Dynamsoft.
For vision-camera v2, use versions 0.x.
For vision-camera v3, use versions 1.x - 2.x.
For vision-camera v4, use versions >= 3.0.0.
| Product | Android | iOS |
|---|---|---|
| Dynamsoft Capture Vision | 3.0 | 3.0 |
yarn add vision-camera-dynamsoft-document-normalizer
cd ios && pod installAdd the plugin to your babel.config.js:
module.exports = {
plugins: [['react-native-worklets-core/plugin']],
// ...Note: You have to restart metro-bundler for changes in the
babel.config.jsfile to take effect.
-
Scan documents with vision camera.
import { detect } from 'vision-camera-dynamsoft-document-normalizer'; // ... const frameProcessor = useFrameProcessor((frame) => { 'worklet'; const detectionResults = detect(frame); }, []);
-
Scan documents from a file (or use
detectBase64).let detectionResults = await detectFile(photoPath);
-
Normalize a document image with the detection result (or use
normalizeBase64).let normalizedImageResult = await normalizeFile(photoPath, detectionResult.location,{saveNormalizationResultAsFile:true});
-
License initialization (apply for a trial license).
await initLicense("your license");
- Android
- iOS
Build a Document Normalization React Native Vision Camera Plugin
See the contributing guide to learn how to contribute to the repository and the development workflow.
MIT