This is a shared library for RNMLKit that contains helper functions and shared code for various packages. It offers some helpful methods that are used by many apps on the React Native (JS) side and includes functionality to work with images and bounding boxes.
Use the following command to install the package:
npm install @infinitered/react-native-mlkit-coreUse this class in Swift to create and manage images with MLKitVision. It provides utility methods for loading images and managing their vision representations.
import RNMLKitCore
let image = RNMLKitImage(imagePath: imagePath)
// ...imagePath- should be the localUri of the image to process. i.e.Asset.localUrifrom an Expo Asset orImage.urifrom an ImagePickerAsset.
Use this class in Kotlin to create and manage images with MLKitVision. It provides utility methods for loading images and managing their vision representations.
import com.infinitered.reactnativemlkitcore.RNMLKitImage
val imageUri = Uri.parse(imagePath)
var image:InputImage = RNMLKitImage(imagePath, appContext.reactContext!!).image
// ...imagePathis the localUri of the image to process.Asset.localUrifrom an Expo Asset orImage.urifrom an Expo ImagePickerAsset.appContextis the AppContext from your expo module -- it's accessible as a property on the Module class.
Renders a bounding box based on the specified dimensions and scale.
import { BoundingBoxView } from "@infinitered/react-native-mlkit-core";
// ...
<BoundingBoxView box={box} scale={scale} />;boxis the bounding box to render of typeBoundingBox
/**
* Represents a bounding box with origin, size, color, label, and width properties.
*/
export interface BoundingBox {
origin: { x: number; y: number };
size: { x: number; y: number };
color?: string;
label?: string;
width?: number;
}Renders an image with bounding boxes drawn over specified regions.
import { ImageWithBoundingBoxes } from "@infinitered/react-native-mlkit-core";
// ...
<ImageWithBoundingBoxes image={image} boundingBoxes={boundingBoxes} />;boundingBoxesis an array ofBoundingBoxobjects to render over the image.imageis the image to render. Accepts anImagefromexpo-image
Several hooks are included to assist with layout and scaling:
useBoundingBoxStyle: Calculates the style object for a bounding box.useImageScale: Calculates the image scale based on the provided parameters.useLayout: Handles layout change events.