@teodor7teodor7

Как сделать принскрин экрана opencv4nodejs + robotjs?

const cv = require('opencv4nodejs');
const robot = require('robotjs');
var Jimp = require( 'jimp' );

const findWaldo = async () => {

var screen = robot.captureScreen();
 //await screenCaptureToFile( screen );
  // Load images

//  const originalMat = await cv.imreadAsync(`${__dirname}/fone.png`);
console.log(screen);
  const originalMat = new cv.Mat(screen.image , screen.width, screen.height, cv.CV_8UC3);

  const waldoMat = await cv.imreadAsync(`${__dirname}/fire.png`);

  const matched = originalMat.matchTemplate(waldoMat, 5);

  const minMax = matched.minMaxLoc();
  const { maxLoc: { x, y } } = minMax;


  originalMat.drawRectangle(
    new cv.Rect(x, y, waldoMat.cols, waldoMat.rows),
    new cv.Vec(0, 255, 0),
    1,
    cv.LINE_8
  );

  cv.imshow('We\'ve found Waldo!', originalMat);
  cv.waitKey();

};

Результат
5f4b749cbe4f8033431204.png

Нужно сделать принскрин рабочего стола и найти предмет на нем.
Каким образом можно получить полноценное изоображение, для распознования. При этом не сохранять файл а работать с буфером?
  • Вопрос задан
  • 88 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы