基于OCR识别的小猿口算比大小自动做题程序(支持0~100比较)

基于OCR识别的小猿口算比大小自动做题程序(支持0~100比较)

开发信息

  • 开发平台: PyCharm
  • 编译器版本: Python 3.12
  • 开发系统: macOS 15
  • 程序版本: v1.1

功能介绍

该程序通过 OCR 技术对小猿口算中的0-100数字进行自动识别,并在屏幕上进行比大小操作。支持自动抓取屏幕上的数字,并在识别后比较,在绘制区域自动绘制符号(>, <, =)。

更新日志

版本 v1.0

  • 日期:2024-10-10
  • 内容:创建了基本仓库和代码。

版本 v1.1

  • 日期:2024-10-10
  • 内容:
    1. 优化了 GUI 窗口的显示方式,将布局从竖直排列改为了网格式布局。
    2. 加入了 bg.png 作为默认填充背景。

联系信息

项目结构

.
├── README.md                             # 使用说明文档
├── comparison.py                         # 对比 easyocr 和 tesseract 的识别时间和结果
├── get_xy.py                             # 获取鼠标坐标的库
├── main.py                               # 主程序
├── bg.png                                # 背景填充图像
├── temp                                  # 文件夹,用于保存分割之后的图片(仓库里没有,得自己去运行代码,会自动创建)
│   └── ...                               # 分割保存的图片
└── test_photo.png                        # 测试 comparison.py 的图片

使用方法

注意,配置全过程最好(尽量)在科学上网的环境下进行(因为很多库国内都很难下载)

一、安装环境依赖

在运行本程序前,需要安装以下 Python 库(安装源 二选一):

  1. 使用官方源安装:
    pip install pyautogui opencv-python pillow pytesseract numpy
    
  2. 使用清华源安装:
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyautogui opencv-python pillow pytesseract numpy
    

二、Tesseract 配置

OCR 依赖 Tesseract,请按照以下步骤在 Windows 或 macOS 上进行配置:

在 Windows 上安装 Tesseract
  1. 文件下载:
    • 下载地址: Tesseract 官方下载
    • 下载并安装,安装路径如 C:\Program Files\Tesseract-OCR
    • 配置环境变量:
      • 将 Tesseract 安装路径添加到系统环境变量 PATH 中(如何添加:点我查看))。

2.配置 Tesseract 的可执行文件路径:

  • 打开安装目录(例如 C:\Program Files\Tesseract-OCR),找到 tesseract.exe
  • 在代码中设置 Tesseract 路径:
    pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
    
在 macOS 上安装 Tesseract
  1. 安装 Homebrew:

    • 如果你的系统还未安装 Homebrew,可以通过以下命令安装 Homebrew:
      /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
      
    • 安装完成后,按终端提示运行配置命令,使 Homebrew 生效。
  2. 使用 Homebrew 安装 Tesseract:

    • 官方源安装:
      brew install tesseract
      
  3. 配置 Tesseract 的可执行文件路径:

    • 获取 Tesseract 的可执行文件路径:
      which tesseract
      
      该命令将输出类似 /opt/homebrew/bin/tesseract 的路径。
    • 在代码中设置 Tesseract 路径:
      pytesseract.pytesseract.tesseract_cmd = r'/opt/homebrew/bin/tesseract'
      
验证 Tesseract 安装

终端(macOS)或命令行(Windows)中输入以下命令,验证是否正确安装:

tesseract -v

如果成功显示版本信息,则安装成功。

三、使用流程

  1. 运行主程序:
    在命令行中运行 main.py:

    python main.py
    
  2. 获取鼠标坐标:

    • 点击程序中的“获取鼠标坐标”按钮。
    • 根据提示,将需要的坐标值填写在 number_regiondraw_region 中。
  3. 调整全局变量:
    main.py 中,根据实际需要调整以下全局变量:

    变量名称含义示例值
    number_region数字区域的坐标,用于识别数字的位置(170, 250, 510, 370)
    draw_region绘图区域的坐标,用于绘制符号的位置(176, 522, 472, 813)
    x_l_mo左边图像的分割偏移量45
    x_r_mo右边图像的分割偏移量40
    注意:坐标的格式 (x1,y1,x3,y3) => (左上角x坐标,左上角y坐标,右下角x坐标,右下角y坐标)
  4. 设置作答参数:

    • 输入“作答题数”、“作答间隔(秒)”和“准备时间(秒)”。
    • 建议“作答题数”比实际题数多 3~5,以保证程序运行过程中有足够的时间和题数。
  5. 开始运行:
    点击“开始”按钮,程序将自动识别并进行作答。

口算自动答题脚本通常是指利用自动化工具,如Python、Selenium等编写的一种程序,用于模拟用户操作来完成小搜题这类在线学习平台上口算题目的自动作答。这种脚本的基本结构可能会包括以下几个步骤: 1. **环境准备**:安装必要的库,例如selenium(用于浏览器控制)、requests(处理HTTP请求)和BeautifulSoup(解析HTML内容)。 ```python from selenium import webdriver import requests from bs4 import BeautifulSoup ``` 2. **启动浏览器**:通过webdriver启动一个浏览器实例,比如Chrome或Firefox。 ```python driver = webdriver.Chrome() driver.get("http://example.com/xiaoyuankousuan") ``` 3. **定位元素**:找到题目输入框、选择按钮或提交按钮等关键元素。 ```python input_field = driver.find_element_by_id("question_input") submit_button = driver.find_element_by_id("submit") ``` 4. **识别题目**:如果页面允许,通过屏幕截图或 OCR 技术识别题目内容。 5. **计算答案**:根据识别的题目,编写算法计算答案。 6. **填充答案**:将计算出的答案填入到答题区域。 ```python input_field.send_keys(answer) ``` 7. **提交答案**:点击提交按钮。 8. **循环处理**:对于连续的题目,重复上述步骤直到所有题目完成。 注意:编写这样的脚本需要遵守网站的使用协议,并尊重版权和教育公平原则,不应用于作弊或不当用途。同时,由于网站的安全策略可能会变化,这个脚本需要定期更新以适应新的网页布局。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mark_Gu_1234

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值