Security News
New Proposed CISA Mandate Would Require Critical Infrastructure to Report Ransom Payments Within 24 Hours
CISA has proposed a set of new rules that would require critical infrastructure to report cyber incidents and ransom payments.
@mat2718/vision-camera-face-detector
Advanced tools
VisionCamera Frame Processor Plugin to detect faces using MLKit Vision Face Detector
Weekly downloads
Readme
VisionCamera Frame Processor Plugin to detect faces using MLKit Vision Face Detector. This repo is an updated version of the original vision-camera-face-detector but with some necessary updates.
Currently, the face contour data is causing an error in the native code and has been disabled temporarily while I work to resolve the issue. The error was causing the bounding box and other frame information from being passed to the component. To avoid this issue please ensure you are using version >=0.1.11
# install with npm
npm install @mat2718/vision-camera-face-detector
# or install with yarn
yarn add @mat2718/vision-camera-face-detector
// babel.config.js
module.exports = {
plugins: [
[
'react-native-reanimated/plugin',
{
globals: ['__scanFaces'],
},
],
],
};
<uses-permission android:name="android.permission.CAMERA"/>
import * as React from 'react';
import {runOnJS} from 'react-native-reanimated';
import {StyleSheet} from 'react-native';
import {useCameraDevices, useFrameProcessor} from 'react-native-vision-camera';
import {Camera} from 'react-native-vision-camera';
import {scanFaces, Face} from '@mat2718/vision-camera-face-detector';
export default function App() {
const [hasPermission, setHasPermission] = React.useState(false);
const [faces, setFaces] = React.useState<Face[]>();
const devices = useCameraDevices();
const device = devices.front;
React.useEffect(() => {
console.log(faces);
}, [faces]);
React.useEffect(() => {
(async () => {
const status = await Camera.requestCameraPermission();
setHasPermission(status === 'authorized');
})();
}, []);
const frameProcessor = useFrameProcessor(frame => {
'worklet';
const scannedFaces = scanFaces(frame);
runOnJS(setFaces)(scannedFaces);
}, []);
return device != null && hasPermission ? (
<Camera
style={StyleSheet.absoluteFill}
device={device}
isActive={true}
frameProcessor={frameProcessor}
frameProcessorFps={5}
/>
) : null;
}
import {findClosest} from '@mat2718/vision-camera-face-detector';
/**
* It sorts an array of objects by the distance between the object's x and y coordinates and the
* given x and y coordinates, then returns the first object in the sorted array
* @param {Face[]} arr - Face[] - an array of Face objects
* @param {number} x - The x coordinate
* @param {number} y - number - the y coordinate
* @returns the closest face to the x and y coordinates.
*/
findClosest(arr, x, y);
NOTE: This is still an early release and is not intended for enterprise applications yet. Currently, the projected BETA release is sometime before the end of January 2023.
import React from 'react';
import {FaceDetector} from '@mat2718/vision-camera-face-detector';
import RNFS from 'react-native-fs';
const App = () => {
//********************************************************************
// Components
//********************************************************************
return (
<>
<FaceDetector
boundingBoxColor={'yellow'}
enableBoundingBox={true}
boundingBoxMultipleFaces={false}
photoCaptureOnPress={async photo => {
const photoPath = 'file://' + photo.path;
const base64Photo = await RNFS.readFile(photoPath, 'base64');
console.log('photoCaptureOnPress', base64Photo);
// do something with the photo
}}
/>
</>
);
};
export default App;
See the contributing guide to learn how to contribute to the repository and the development workflow.
MIT
Please feel free to check out the original repo here vision-camera-face-detector
Also, the original bounding box creator's repo is here bglgwyng/FrameProcessorExample
FAQs
VisionCamera Frame Processor Plugin to detect faces using MLKit Vision Face Detector
The npm package @mat2718/vision-camera-face-detector receives a total of 35 weekly downloads. As such, @mat2718/vision-camera-face-detector popularity was classified as not popular.
We found that @mat2718/vision-camera-face-detector demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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
CISA has proposed a set of new rules that would require critical infrastructure to report cyber incidents and ransom payments.
Security News
Redis is no longer OSS, breaking its explicit commitment to remain under the BSD 3-Clause License forever. This has angered contributors who are now working to fork the software.
Product
Socket AI now enables 'AI detected potential malware' alerts by default, ensuring users benefit from AI-powered state-of-the-art malware detection without needing to opt-in.