Security News
RubyGems.org Adds New Maintainer Role
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
vision-camera-ocr-plugin
Advanced tools
A VisionCamera Frame Processor Plugin to preform text detection on images using MLKit Vision Text Recognition. This module can be used only with React Native Vision Camera >= v4.x.x
yarn add vision-camera-ocr-plugin
cd ios && pod install
Add 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.js
file to take effect.
import {OCRFrame, scanOCR} from 'vision-camera-ocr-plugin';
import {
useFrameProcessor,
Camera,
useCameraDevice,
} from 'react-native-vision-camera';
import {Worklets} from 'react-native-worklets-core';
export default ({onTextClicked}: VisionCameraPlateProps) => {
const [hasPermission, setHasPermission] = React.useState(false);
const [ocr, setOcr] = React.useState<OCRFrame>();
const isFocused = useIsFocused();
const device = useCameraDevice('back');
const onCodeDetected = Worklets.createRunInJsFn((data: any) => {
setOcr(data);
});
const frameProcessor = useFrameProcessor(frame => {
'worklet';
const data = scanOCR(frame);
onCodeDetected(data);
}, []);
React.useEffect(() => {
(async () => {
const status = await Camera.requestCameraPermission();
setHasPermission(status === 'granted');
})();
}, []);
return (
<>
{device !== undefined && hasPermission ? (
<Camera
frameProcessor={frameProcessor}
device={device}
isActive={isFocused}
pixelFormat="yuv"
/>
) : (
<View>
<Text>No available cameras</Text>
</View>
)}
</>
);
};
scanOCR(frame)
returns an OCRFrame
with the following data shape. See the example for how to use this in your app.
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
See the contributing guide to learn how to contribute to the repository and the development workflow.
MIT
FAQs
VisionCamera Frame Processor Plugin to provide OCR support
The npm package vision-camera-ocr-plugin receives a total of 403 weekly downloads. As such, vision-camera-ocr-plugin popularity was classified as not popular.
We found that vision-camera-ocr-plugin demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.
Security News
Research
Socket's threat research team has detected five malicious npm packages targeting Roblox developers, deploying malware to steal credentials and personal data.