如何制作桌面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();

};

enter image description here

我得到的是灰色图像。如何获得桌面图像的全屏图像以进行识别。在这种情况下,不要保存文件而是使用缓冲区吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...