autojs识别数字

简介: 牙叔教程 简单易懂

牙叔教程 简单易懂


待识别的图片

这个是放大了6倍的效果

第一步: 识别轮廓


关键代码

Imgproc.findContours(binary, contours, hierarchy, Imgproc.RETR_LIST, Imgproc.CHAIN_APPROX_SIMPLE, Point());

第二步: 分析数据, 去除多余的轮廓

左侧的豆豆, 我们不需要, 所以要去除, 依据是图片中最大的轮廓;

去除豆豆之后, 我们只留下豆豆右侧的轮廓, 这样也直接去除了, 豆豆内部的一个小轮廓;

中间的逗号, 我们不需要, 通过高度判断来去除逗号;

首先对轮廓, 按照高度从低到高进行排序,

有时候是三位数, 有时候是四位数, 只有四位数的时候才有逗号;

中间的逗号我们不需要, 9的内部轮廓, 我们也不需要;

去除他俩的依据是,:

如果一个轮廓的高度 小于 轮廓集合中最高的高度的0.75,

那么我们就认为他不是数字, 直接删除;

去除多余轮廓后的效果

第三步: 分割数字

第四步: 提取指纹

上面提取的数字图片是彩色的, 我们这样处理图片

  1. 缩放图片至合适的尺寸, 为了保证细节足够, 以便识别更准确
  2. 灰度化图片
  3. 二值化图片
  4. 二值图转字符串


提取指纹关键代码

let newImg = images.resize(img, [29]);
let grayImg = images.grayscale(newImg);
var thresholdImg = images.adaptiveThreshold(grayImg, 1, "MEAN_C", "BINARY_INV", 3, 3);
let imgHash = mat2Str(thresholdImg.mat);
function mat2Str(mat) {
  let w = mat.rows();
  let h = mat.cols();
  let lines = new Array(h);
  for (var i = 0; i < h; i++) {
    let line = new Array(w);
    for (var j = 0; j < w; j++) {
      let item = mat.get(i, j);
      let value = item[0];
      line[j] = value;
    }
    lines[i] = line.join("");
  }
  let content = lines.join("\n");
  // let content = lines.join("");
  return content;
}

第五步: 验证效果

截取一些小图片, 用来验证效果;

所有图片都要经历:

  • 找轮廓
  • 去除多余轮廓
  • 分割图片
  • 提取指纹
  • 比较指纹距离

指纹的距离用 汉明距离 比较, 这个距离合适吗?

有没有更适合的距离算法?

全部正确 !

测试环境

手机: Mi 11 Pro
Android版本: 12
Autojs版本: 9.1.16


名人名言

思路是最重要的, 其他的百度, bing, stackoverflow, github, 安卓文档, autojs文档, 最后才是群里问问 --- 牙叔教程

声明

部分内容来自网络 本教程仅用于学习, 禁止用于其他用途

相关文章
|
5月前
|
编解码 文字识别 测试技术
3000 字带你了解Claude3 视觉能力,OCR, 菜单识别统统能搞定!
五大任务,带你了解Claude3的视觉能力有多强 2024 年 3 月 4 日,Anthropic 震撼发布了全新的多模态模型——Claude 3。据该公司介绍,无论是语言处理还是视觉识别任务,Claude 3 都展现出了超越同类竞争产品(例如配备视觉功能的 GPT-4)的卓越性能。
197 0
|
5月前
基于autojs7的亚丁号成语大家族辅助
基于autojs7的亚丁号成语大家族辅助
47 0
|
4月前
|
文字识别
印刷文字识别产品使用合集之能否实现只返回手写字不返回印刷字
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
4月前
|
文字识别
印刷文字识别产品使用合集之遇到生僻字无法识别的情况,该怎么办
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
2月前
|
机器学习/深度学习 人工智能 文字识别
轻松识别文字,这款Python OCR库支持超过80种语言
轻松识别文字,这款Python OCR库支持超过80种语言
|
2月前
|
机器学习/深度学习 人工智能 算法
|
3月前
|
人工智能 数据安全/隐私保护 计算机视觉
旷视开源的AI人像视频生成太炸了!输入照片即可模仿任意表情包
【7月更文挑战第6天】旷视科技开源AI模型MegActor,以照片生成逼真人像视频,模仿表情包。基于条件扩散模型,解决身份泄露和背景干扰问题,使用合成数据、图像分割、CLIP编码及风格迁移技术。虽有视频质量、隐私风险及计算资源限制,但对动画和虚拟偶像行业带来革新。[链接](https://arxiv.org/abs/2405.20851)
98 3
|
4月前
|
机器学习/深度学习 文字识别 算法
视觉智能开放平台产品使用合集之文字敏感内容识别和文字违禁内容识别有什么区别
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
|
5月前
|
文字识别 开发工具 数据安全/隐私保护
印刷文字识别产品使用合集之教育场景识别,是否支持以Word文档的形式批量导入题目呢
印刷文字识别(Optical Character Recognition, OCR)技术能够将图片、扫描文档或 PDF 中的印刷文字转化为可编辑和可搜索的数据。这项技术广泛应用于多个领域,以提高工作效率、促进信息数字化。以下是一些印刷文字识别产品使用的典型场景合集。
|
5月前
|
JSON 文字识别 数据可视化
印刷文字识别产品使用合集之有识别二维码并将识别二维码的内容通过接口返回的功能吗
印刷文字识别(Optical Character Recognition, OCR)技术能够将图片、扫描文档或 PDF 中的印刷文字转化为可编辑和可搜索的数据。这项技术广泛应用于多个领域,以提高工作效率、促进信息数字化。以下是一些印刷文字识别产品使用的典型场景合集。