当前位置: 首页 > article >正文

小猿口算辅助工具(nodejs版)

在这里插入图片描述

github 地址:https://github.com/pbstar/xyks-helper

实现原理

通过屏幕截图截取到题目区域的两个数字,然后通过 ocr 识别出数字,最后通过计算得出答案,并通过模拟鼠标绘制答案。

依赖插件

  • node-screenshots:屏幕截图
  • tesseract.js:ocr 识别
  • robotjs:模拟鼠标绘制

实现步骤

1. 截取屏幕

通过 node-screenshots 插件截取屏幕,截取到题目区域的两个数字,并保存到本地。

let monitors = Monitor.all(); // 获取所有显示器
let image = monitors[0].captureImageSync(); // 截取屏幕
let newImage = img.cropSync(item.x, item.y, item.width, item.height); // 截取题目数字区域
fs.writeFileSync(`./src/imgs/${index}.png`, newImage.toPngSync()); // 保存截图到本地
2. ocr 识别

通过 tesseract.js 插件对截取到的图片进行 ocr 识别,识别出数字。

Tesseract.recognize(
  `./src/imgs/${index}.png`,
  "eng" // 语言代码
).then(({ data: { text } }) => {
  console.log(text); // 输出识别结果
});
3. 计算答案

通过计算得出答案。

4. 模拟鼠标绘制

通过 robotjs 插件模拟鼠标绘制答案。

robot.moveMouse(mouseX, mouseY); // 移动鼠标到指定位置
robot.mouseToggle("down"); // 模拟鼠标按下
robot.moveMouse(sx, sy); // 移动鼠标到指定位置
robot.mouseToggle("up"); // 模拟鼠标抬起

使用方法

1. 安装依赖
npm install
2. 运行程序
node index.js

http://www.kler.cn/a/349377.html

相关文章:

  • 基于Python flask的豆瓣电影可视化系统,豆瓣电影爬虫系统
  • 27.数据结构与算法-图的遍历(DFS,BFS)
  • Debug-028-el-carousel走马灯-当展示图片为2的问题处理
  • 大学新生入门编程的推荐路径
  • 输电线路语义分割图像数据集,图片总共1200张左右,包含分割标签,json标签
  • linux下位机出现使用TCP socket为0的问题
  • mysql模糊查询优化
  • uniapp使用navigator标签不支持flex布局
  • 25.3 使用relabel中的drop将对应的无用指标丢弃
  • 没有HTTPS 证书时,像这样实现多路复用
  • 简单认识Maven 2-Maven坐标
  • 【兼容多端】UNIAPP popper气泡弹层vue3+typescript unibest
  • 访问者模式
  • ijkMediaPlayer+ TextureView 等比全屏播放视频(避免拉伸)
  • 实用篇—高效批量复制INSERT语句,并去除某列
  • AVL树学习笔记
  • 校园系统校园小程序 论坛校园圈系统失物招领、闲置二手、跑腿外卖等校园圈子系统应该具备有哪些功能
  • Centos7 搭建logstash
  • echarts显示隐藏柱状图柱子的背景色
  • mysql 实用命令