微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何制作桌面opencv4nodejs + robotjs的屏幕截图?

如何解决如何制作桌面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 举报,一经查实,本站将立刻删除。