首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

OpenCV实现09数字识别OCR

使用OpenCV对09数字进行识别,实现简单OCR功能,基于CA(轮廓)分析实现特征提取,基于L1距离计算匹配实现数字识别。在排除干扰的基础上,识别精度可以达到98%以上。...整个算法分为两个部分,第一部分是特征提取,提取的特征实现了尺度不变性与轻微光照与变形干扰排除,第二部分基于特征数据进行匹配实现了相似性比较,最终识别09十个数字。...比如0跟1的横纵比有明显差别。特征提取的主要步骤如下: 1. 图像去噪声与二值化 2. 轮廓发现与ROI区域分割 3. 水平与垂直投影,提取20个向量,并归一化 4....对ROI区域的水平与垂直投影分别分成10个BIN,考虑浮点数划分,每个BIN长度不一定是整数,这样就通过权重进行按比例分割像素点。完成每个BIN的前景像素点统计。...; return 0; }

5.1K20
您找到你想要的搜索结果了吗?
是的
没有找到

js正则小结

1,\ 斜杠用于转义,在js正则里,只有一些元字符(*,?,.等)和\本身需要转义,其他的不需要转义,如果其他的字符前面使用了\,可能会产生负面影响,比如\b,\t这些有特殊含义的转义。...此外,在js正则中,\还有一个用处在于使用new RegExp()形式创建正则对象时,比如new RegExp('a\*a'),其中*是乘以的意思,js引擎在解析该正则表达式字符串时,会消耗掉这个斜杠,...这三个元字符代表的是匹配0多个同样的字符组合,a*,a?,a+,分别代表匹配0多个a,01个a,1多个a。这是一种贪婪的匹配,也就是尽可能多地匹配后面符合条件的字符。...=y+)/) => x 9 x(?!y) 同上,断言x后面不是y。 10 [\b] 匹配(U+0008),键盘中的退格键。...13 \w 单词字符,定义为[A-Za-z0-9_] 14 \W 非单词字符,定义为[^A-Za-z0-9_] 15 \s 所有空格,如制表符、垂直分隔符、水平分隔符,定义为[ \f\n\r\t\v\u00a0

7.6K50

JS正则表达式--从入门精分

//中文、英文、数字及下划线 ^[\u4e00-\u9fa5_a-zA-Z0-9]+$//中国邮政编码 [1-9]{1}(\d+){5}//email地址 /^[\w-]+(\....扩展字符串末尾且无法匹配成功 此时正则不会结束匹配过程,而是回溯倒数第二个[\s\S]*?,并将其扩展字符串末尾,尝试 ".............扩展字符串末尾,且整个表达式立即失败,因为没有位置可以回溯了 失控情况2:嵌套量词 /(A+A+)+B/.test('AAAAAAAAAA') 一个典型的例子如上所示 第一个A+匹配全部、第一个匹配9...&mpshare=1&scene=1&srcid=0105h36ItjZzXc7u6uW39tlf&key=4656d9815c967482ff88e44f7c9e53cb2e65273a9a271a4f9f316299ac83108bbb9a5ed452a27ff0ce70c20538f67943ba29deaa95c46a4087dffcc62d66c15bed18749de00ee9384d4ab3d4b1ab463c...nettype=WIFI&fontScale=100&pass_ticket=%2FhHEhMrA8QE0TZwyTsLt5VVnBAN9qnxIuiR6v463X6Y%3D

1.4K20

Js正则Replace方法

JS正则的创建有两种方式: new RegExp() 和 直接字面量。...比如 [a-zA-Z0-9] 表示字符文本要匹配英文字符和数字。 {}一般用来表示匹配的长度,比如 \d{3} 表示匹配三个空格,\d[1,3]表示匹配1~3个空格。...\d 匹配一个非负整数, 等价于 [0-9] \s 匹配一个空白字符 \w 匹配一个英文字母或数字,等价于[0-9a-zA-Z] .   匹配除换行符以外的任意字符,等价于[^\n] 五、* + ?...就是匹配最多由1个字母或数字组成的字符串 六、test 、match 前面的大都是JS正则表达式的语法,而test则是用来检测字符串是否匹配某一个正则表达式,如果匹配就会返回true,反之则返回false...,每次回调都会传递以下参数: result: 本次匹配到的结果 $1,...$9: 正则表达式中有几个(),就会传递几个参数,$1~$9分别代表本次匹配中每个()提取的结果,最多9个 offset

11.8K100

kill -0与kill -9

和kill -9的区别?...当涉及 kill -0 和 kill -9 命令时,让我们更详细地了解它们的区别和用法: kill -0 命令: 例如,以下命令会检查进程ID为12345的进程是否存在: if kill -0 12345...如果进程存在,kill -0 命令会返回退出状态码0(成功)。 如果进程不存在,kill -0 命令会返回非零退出状态码(通常是1)。 这个命令用于在尝试与进程交互之前,首先检查它是否在运行。...kill -9 命令: 例如,以下命令会强制终止进程ID为12345的进程: kill -9 12345 kill -9 命令用于强制终止指定的进程。...通常,kill -9 命令用于终止那些无响应或不可控制的进程,以恢复系统稳定性。 总的来说,kill -0 用于检查进程是否存在,而 kill -9 用于强制终止进程。

17520

01打造正则表达式执行引擎

没错,就只这条红边本边了,它在正则表达式状态机中起着非常重要的连接作用,可以不依赖其他条件直接跳转状态,也就是说在上图中你可以直接从12。...从0状态走A或B都可以1状态,完美的诠释了A|B语义。 重复匹配(正则表达式中的 ? + *) 正则表达式里有4中表示重复的方式,分别是: ?...重复0-1次 重复1次以上 重复0次以上 {n,m} 重复nm次 我来分别画下这4种方式如何在状态机里表示。 重复0-1次 ?...0状态可以通过E也可以依赖\epsilon直接跳过E到达1状态,实现E的0次匹配。 重复1次以上 01后可以再通过\epsilon跳回来,就可以实现E的1次以上匹配了。...没错,虽然这里已经是实现了一个基本的正则表达式引擎,但距离可用在生产环境还差很远,预告如下。

72820

机器学习系列9正则

在介绍正则化之前,我们先来介绍一下什么是欠拟合和过拟合问题。 欠拟合和过拟合 在线性回归问题中,像下面这个数据集,通过房屋面积去预测房价,我们用一次函数去拟合数据: ?...2.正则化: 保留所有的特征变量,但是减小量级或参数 θ_ j 的大小。 当训练集有许多有用的特征变量时正则化处理会很好。 那么如何进行正则化呢?...正则化 在过拟合问题中,每个特征变量可能都对结果产生影响,例如预测房价,现在有很多特征变量:大小,楼层,卧室数目等等……。...这种方法就是正则化(Regularization)解决过拟合问题。 要想正则化所有的参数,就可以按照下列公式: ?...其中 λ 又称正则化参数(regularization parameter),它的目标是平衡更好地拟合数据和保持参数尽量最小这两者之间的关系。

49420

TensorFlow从01 - 16 - L2正则化对抗“过拟合”

L2正则化 上式中的C0代表原损失函数,可以替换成均方误差、交叉熵等任何一种损失函数表达式。...正则化通过添加约束的方式,帮我们找到一个方向。 L2正则化表达式暗示着一种倾向:训练尽可能的小的权重,较大的权重需要保证能显著降低原有损失C0才能保留。...C对w求偏导数,可以拆分成原有C0对w求偏导,以及L2正则项对w求偏导。前者继续利用原有的反向传播计算方法,而后者可以直接计算得到: ? C对于偏置b求偏导保持不变: ?...tf.nn.sigmoid_cross_entropy_with_logits(labels=y_, logits=z_3)) + reg_term) 对上述代码的一些说明: 将网络中所有层中的权重,依次通过tf.add_to_collectio加入tf.GraphKeys.WEIGHTS...需要注意的是,尽管正则化有效降低了验证集上过拟合程度,但是也降低了训练集的识别精度。所以在实现L2正则化时增加了隐藏层的神经元数量(从30100)来抵消识别精度的下降。 ?

1.3K90
领券