react-native-vision-camera-face-detector
Version:
Frame Processor Plugin to detect faces using MLKit Vision Face Detector for React Native Vision Camera!
79 lines (77 loc) • 1.9 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Camera = Camera;
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _reactNativeVisionCamera = require("react-native-vision-camera");
var _useFaceDetectorOutput = _interopRequireDefault(require("../hooks/useFaceDetectorOutput"));
var _jsxRuntime = require("react/jsx-runtime");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
// types
/**
* A view that detects {@linkcode Face}s in a Camera
* using the default front {@linkcode CameraDevice}.
*
*
* @example
* ```tsx
* function App() {
* const isFocused = useIsFocused()
* const appState = useAppState()
* const isActive = isFocused && appState === 'active'
* return (
* <Camera
* isActive={isActive}
* barcodeFormats={['all']}
* onFacesDetected={(faces) => {
* console.log(`Detected ${faces.length} faces!`)
* }}
* onError={(error) => {
* console.error(`Error detecting faces:`, error)
* }}
* />
* )
* }
* ```
*/
function Camera({
onFacesDetected,
onError,
outputResolution,
cameraFacing,
autoMode,
windowWidth,
windowHeight,
performanceMode,
runLandmarks,
runContours,
runClassifications,
minFaceSize,
trackingEnabled,
...cameraProps
}) {
const output = (0, _useFaceDetectorOutput.default)({
onFacesDetected,
onError,
outputResolution,
cameraFacing,
autoMode,
windowWidth,
windowHeight,
performanceMode,
runLandmarks,
runContours,
runClassifications,
minFaceSize,
trackingEnabled
});
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeVisionCamera.Camera, {
...cameraProps,
outputs: [output],
onError: onError
});
}
var _default = exports.default = Camera;
//# sourceMappingURL=Camera.js.map