UNPKG

ppu-yolo-onnx-inference

Version:

Use your YOLO onnx object detection model in Typescript Bun environment easily.

1 lines 1.36 kB
export class WebPlatformProvider{createInferenceSession(model){return ort.InferenceSession.create(model)}createTensor(type,data,dims){return new ort.Tensor(type,data,dims)}createCanvas(width,height){if(typeof OffscreenCanvas!=="undefined"){return new OffscreenCanvas(width,height)}let c=document.createElement("canvas");c.width=width;c.height=height;return c}isCanvasLike(value){if(typeof HTMLCanvasElement!=="undefined"&&value instanceof HTMLCanvasElement)return true;if(typeof OffscreenCanvas!=="undefined"&&value instanceof OffscreenCanvas)return true;return false}async prepareCanvas(buffer){return ImageProcessor.prepareCanvas(buffer)}resizeImage(source,width,height){let processor=new ImageProcessor(source);let resized=processor.resize({width,height}).toCanvas();processor.destroy();return resized}getContext2D(canvas){let ctx=canvas.getContext("2d",{willReadFrequently:true});if(!ctx)throw new Error("Failed to get 2D context from canvas");return ctx}async saveDebugImage(_canvas,_filename,_outputDir){}async initRuntime(){await ImageProcessor.initRuntime()}scheduleYield(){return new Promise((resolve)=>setTimeout(resolve,0))}}import*as ort from"onnxruntime-web";import{ImageProcessor}from"ppu-ocv/web";if(typeof globalThis!=="undefined"&&!ort.env.wasm.wasmPaths){ort.env.wasm.wasmPaths="https://cdn.jsdelivr.net/npm/onnxruntime-web@1.23.2/dist/"}