react-native-vision-camera-face-detector
Version:
Frame Processor Plugin to detect faces using MLKit Vision Face Detector for React Native Vision Camera!
50 lines (47 loc) • 1.25 kB
JavaScript
;
import { useMemo, useRef } from 'react';
import { createFaceDetectorOutput } from '../factory';
// types
/**
* Use a {@linkcode FaceDetector}.
*
* A {@linkcode FaceDetector} can be used to detect
* {@linkcode Face}s in a {@linkcode Frame} in a Frame
* Processor.
*
* @example
* ```ts
* const FaceDetector = useFaceDetector({...})
* const frameOutput = useFrameOutput({
* onFrame(frame) {
* 'worklet'
* const faces = FaceDetector.detectFaces(frame)
* console.log(`Detected ${faces.length} faces!`)
* frame.dispose()
* }
* })
* ```
*/
export function useFaceDetectorOutput({
onFacesDetected,
onError,
outputResolution = 'preview',
...options
}) {
const stableOnFacesDetected = useRef(onFacesDetected);
stableOnFacesDetected.current = onFacesDetected;
const stableOnError = useRef(onError);
stableOnError.current = onError;
return useMemo(() => createFaceDetectorOutput({
onFacesDetected(faces) {
stableOnFacesDetected.current(faces);
},
onError(error) {
stableOnError.current(error);
},
outputResolution: outputResolution,
...options
}), [options]);
}
export default useFaceDetectorOutput;
//# sourceMappingURL=useFaceDetectorOutput.js.map