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文档, 最后才是群里问问 --- 牙叔教程

声明

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

相关文章
|
8月前
|
人工智能 自然语言处理 文字识别
阿里推出AnyText: 解决AI绘图不会写字的问题,可以任意指定文字位置,且支持多国语言!
【2月更文挑战第17天】阿里推出AnyText: 解决AI绘图不会写字的问题,可以任意指定文字位置,且支持多国语言!
456 2
阿里推出AnyText: 解决AI绘图不会写字的问题,可以任意指定文字位置,且支持多国语言!
|
8月前
基于autojs7的亚丁号成语大家族辅助
基于autojs7的亚丁号成语大家族辅助
59 0
|
3天前
鸿蒙开发:自定义一个车牌字母键盘
车牌字母键盘和一般的键盘还有很大区别的,大家可以发现,键盘上是少一个字母的,因为I字母具有混淆性,所以这个字母是不在车牌键盘内的。
鸿蒙开发:自定义一个车牌字母键盘
|
6月前
|
人工智能 数据安全/隐私保护 计算机视觉
旷视开源的AI人像视频生成太炸了!输入照片即可模仿任意表情包
【7月更文挑战第6天】旷视科技开源AI模型MegActor,以照片生成逼真人像视频,模仿表情包。基于条件扩散模型,解决身份泄露和背景干扰问题,使用合成数据、图像分割、CLIP编码及风格迁移技术。虽有视频质量、隐私风险及计算资源限制,但对动画和虚拟偶像行业带来革新。[链接](https://arxiv.org/abs/2405.20851)
113 3
|
人工智能 文字识别 API
C# 10分钟完成百度图片提取文字(文字识别)——入门篇
C# 10分钟完成百度图片提取文字(文字识别)——入门篇
|
JSON 前端开发 API
腾讯位置 - 关键词输入提示(结尾附视频)
腾讯位置 - 关键词输入提示(结尾附视频)
133 0
|
数据可视化
免费好用的天气服务 - Tuya(结尾附视频)(下)
免费好用的天气服务 - Tuya(结尾附视频)(下)
111 0
|
算法 JavaScript API
免费好用的天气服务 - Tuya(结尾附视频)(上)
免费好用的天气服务 - Tuya(结尾附视频)(上)
190 0
|
iOS开发
iOS 检测字符串中是否含有数字、特殊符号
iOS 检测字符串中是否含有数字、特殊符号
403 0
|
移动开发 文字识别 开发工具
iOS小技能: OCR 之银行卡/身份证信息识别(免费次数无限)
1. 功能:扫描银行卡识别信息( 银行名称、 银行卡号)并截取银行卡图像 2. 应用场景:快速填充银行卡号的场景,比如商户进件、实名认证
435 0
iOS小技能: OCR 之银行卡/身份证信息识别(免费次数无限)