bennetthardwick / darknet.js

A NodeJS wrapper of pjreddie's darknet / yolo.
65 stars 27 forks source link

Add: support for in memory image stream to darknet detector #3

Closed legraphista closed 6 years ago

legraphista commented 6 years ago

Added support to stream data to darknet from memory so it's easier to process video.

Here's a usecase:

const fs = require('fs');
const cv = require('opencv4nodejs');
const { Darknet } = require('.');

const darknet = new Darknet({
  weights: 'yolov3.weights',
  config: 'cfg/yolov3.cfg',
  names: fs.readFileSync('data/coco.names').toString().trim().split('\n')
});

const cap = new cv.VideoCapture('video.mp4');

let frame;
let index = 0;
do {
  frame = cap.read().cvtColor(cv.COLOR_BGR2RGB);
  console.log('frame', index++); 
  console.log(darknet.detect({
    b: frame.getData(),
    w: frame.cols,
    h: frame.rows,
    c: frame.channels
  }));
} while(!frame.empty);
bennetthardwick commented 6 years ago

Awesome, thanks a lot. I'm going to add this example to the README.