linuxocr
网上有很多教程,网络里面有安装文档。找对版本就行
❷ OCR文字识别软件哪个易用可网上下载
OCR文字识别软件 Mini Ocr
xdowns.com/view_soft/3/7/OCRwenzishibieruanjian Mini Ocr.html
件
本软件是飞涛软件工作室开发的一款免费Ocr软件,主要用于识别图像文件之中,出现
的汉字显示字体。Ocr的中文含意是光学字符识别。
为什么叫Mini呢?因为现有的识别汉字的商业Ocr软件,动辄二三十兆,而本软件解
压后,也不过三兆多,身材比较纤小,再加上本软件主要用于识别字体比较小的汉字,所
以叫Mini,中文的发音是“迷你”,中文含义是超小型。
既然有了商业Ocr软件,为什么还要开发这个软件?
不同于商业Ocr软件,本软件是免费的,可以自由使用。第二个不同之处,本软件的
识别对象是屏幕出现的“显示汉字”,而不是针对扫描仪扫出来的“打印汉字”。二者有什
么不同呢?最重要的一点: 扫描出来的打印汉字的高度和宽度一般都在30多个像素点之
上,这是我用画图软件,打开某个商业Ocr的samples\sample1.tif,然后一点一点数出
来的。从文件名和目录名的中文含意可以看出,这个点数应该是一个典型值。那么,如果
用商业Ocr识别屏幕上出现的小五号字,汉字的高度是12个像素点,会出现什么情况呢?
测试方法:用记事本随便写几行汉字,设置字体为小五号字。这大概是看着还算舒服
的最小号的汉字字体了(高度是12个像素点),如果再小,字体就很难看了。然后,按拷
屏键PrtSc,把屏幕的图像拷贝、粘贴到画图软件中,修剪尺寸后,保存为bmp的格式。
然后,我找了两个国内最着名的Ocr软件进行测试,结果让人大吃一惊,识别率几乎为零。
把图像放大两倍,再测试,结果仍然很不理想,大概也只有百分之二三十的样子。
开发Mini Ocr软件的由来
我在开发护花使者反黄图像识别软件的时候,遇到有些图像里,嵌有某些文字,如果能
把文字识别出来,图像的含义就很容易让计算机理解了。预算有限,我连扫描仪都舍不得
买,就更别想买商业Ocr的开发包了,大概几十万,或者更多,或者别人压根就不卖。况且
它们的识别率对小字体几乎为零,不符合我的要求。看来,只好自力更生,重新写一个了。
开发Mini Ocr的历程
经过三个多月的努力,终于诞生了这款Mini Ocr 软件。第1个月做出了汉字识别的
核心模块,第2个月做出了文章段落切分的算法,并加入了对英文,数字,标点的支持,
第三个月继续调整英汉混排和汉字切分的算法,并用MFC 做了一个界面。
Mini Ocr的软件架构
为了让更多的人能使用到这个软件,我在windows系统下,采用VC进行编程,界面当
然只好用MFC写了。软件架构是一个SDI框架下的多窗口切分界面,左上角的窗口是一个
CFormView,用来显示常用的按钮;左下角是一个CEditView,用来显示帮助信息;右上角
是一个CView,用来显示要识别的图像;右下角是一个CEditView,用来存放识别出来的文
字。识别部分采用了工作者线程,以避免显示界面的主线程僵掉。识别部分是整个软件的
核心,与操作系统无关,可以单独摘出来放在dos窗口里跑,也可以移植到Linux系统中跑。
汉字识别软件的难点所在:
英文识别有一些开放源码的软件,我看过的软件,主要采取两种识别方法:基于规则
的方法,和采用神经网络方法。而这两种方法,在识别汉字时,都不宜采用。因为汉字数
目众多,最常用的国标2312的一级汉字就有3755个。如果借用基于规则的方法,需要对
三千多个汉字,逐一人工写出分类规则,工作量太大,我一个人无法完成;如果采用神经
网络的方法,这么多汉字,我不敢想象,需要多少层网络和神经节点呀!如果采用网格法,
抗位移的效果太差;而采用不变矩法,识别人和入,土和士,相似度又难于控制。除此之
外,汉字切分也是一大难题。英文宽度大概只有汉字一半,标点符号大概只有汉字三分之
一宽,数字大概只有四分之一的宽度。而汉字本身又有二分字,和三分字。某些字,如“啊”,
字体小时可能是独体字,字体大些,变为二分字,字体再大,又变为三分字。加上汉字与
汉字之间的粘连、汉字与英文的混排,英文与英文的粘连,造成汉字切分模块的算法,甚
至比汉字识别模块的算法还要复杂得多。为了克服这些难点,并加快识别速度,我在算法
设计时,采用了一些优化和简化的策略。经过实践检验,证明行之有效。
Mini Ocr进行汉字识别的策略:
1) 采用复合特征的分类方法。
2) 字符集选择3755个一级汉字。
3) 字体选择最常用的宋体。
4) 字号选择从小五号到一号汉字,主要针对20个点之内的小字体。
5) 英汉混排时,汉语优先。
6) 汉字粘连时,进行动态优化切分。
展望与下一步的开发计划:
1) 重新优化英文识别的算法;
2) 对英文粘连的切分算法进行调整;
3) 移植进入Linux;
选择Ocr软件的建议:
如果您选择Ocr软件,目的是用来识别扫描仪出来打印字体,推荐还是选用知名的商业Ocr。
如果您要识别屏幕上显示的汉字,Mini Ocr是一个比较不错的选择。真诚地希望您在使用
中,能喜欢上它
❸ linux oracle10G 频频掉线
存储的设备掉了吧?
❹ 我们公司想做门禁考勤系统,要做那种离线的,有人知道哪里可以下载人脸识别离线的sdk吗linux的
云脉OCR SDK开发者平台支持下载离线人脸识别SDK,可以先接入人脸识别api 使用下,支持个各种系统,不过门禁考勤系统如果想有人脸识别功能可以直接安装云脉人脸识别门禁考勤系统,无感考勤不用可以配合就可以识别员工进出
❺ linux如何设置密码规则
准备工作:
安装 PAM 的 cracklib 模块,cracklib 能提供额外的密码检查能力。
Debian、Ubuntu 或 Linux Mint 系统上:
$ sudo apt-get install libpam-cracklib
CentOS、Fedora、RHEL 系统已经默认安装了 cracklib PAM 模块,所以在这些系统上无需执行上面的操作。
为了强制实施密码策略,我们需要修改 /etc/pam.d 目录下的 PAM 配置文件。一旦修改,策略会马上生效。
注意:此教程中的密码策略只对非 root 用户有效,对 root 用户无效。
禁止使用旧密码
找到同时有 “password” 和 “pam_unix.so” 字段并且附加有 “remember=5” 的那行,它表示禁止使用最近用过的5个密码(己使用过的密码会被保存在 /etc/security/opasswd 下面)。
Debian、Ubuntu 或 Linux Mint 系统上:
$ sudo vi /etc/pam.d/common-password
❻ 关于linux下安装tesseract-ocr的问题:进行./configure的时候,出现下图结果,然后无法进行下一步。
c编译环境有问题。。楼主如果不会弄,建议重新安装操作系统,在安装时一般的linux操作系统会提示你选择安装的相关的包,可以按照自己开发的需求选择不同的开发包。
❼ 在linux中 要设置个密码策略 让用户名和密码不能一致
1、Linux对应的密码策略模块有:pam_passwdqc 和 pam_pwquality 。其中pam_passwdqc模块对应的是/etc/login.defs,pam_pwquality对应的是/etc/security/pwquality.conf , 我记得默认就包含用户名与密码不能一致。linux设置密码复杂程度
2、模块的添加方法:/etc/pam.d/passwd
password required pam_pwquality.so retry=3
3、模块的配置方法有两种:
一、password required pam_pwquality.so dcredit=-1 ucredit=-1 ocredit=-1 lcredit=0
二、添加到/etc/security/pwquality.conf 中
4、/etc/security/pwquality.conf详解:retry=N:定义登录/修改密码失败时,可以重试的次数;Difok=N:定义新密码中必须有几个字符要与旧密码不同。但是如果新密码中有1/2以上的字符与旧密码不同时,该新密码将被接受;minlen=N:定义用户密码的最小长度;dcredit=N:定义用户密码中必须包含多少个数字;ucredit=N:定义用户密码中必须包含多少个大写字母;lcredit=N:定义用户密码中必须包含多少个小些字母;ocredit=N:定义用户密码中必须包含多少个特殊字符(除数字、字母之外);其中 =-1表示,至少有一个5、/etc/login.defs详解:PASS_MAX_DAYS 99999 #密码的最大有效期, 99999:永久有期PASS_MIN_DAYS 0 #是否可修改密码,0可修改,非0多少天后可修改PASS_MIN_LEN 5 #密码最小长度,使用pam_cracklib mole,该参数不再有效PASS_WARN_AGE 7 #密码失效前多少天在用户登录时通知用户修改密码6、实际生产环境配置/etc/security/pwquality.conf :minlen = 8minclass = 1maxrepeat = 0maxclassrepeat = 4lcredit = -1ucredit = -1dcredit = -1ocredit = -1difok=5/etc/login.defs:PASS_MAX_DAYS 90PASS_MIN_LEN 12PASS_MIN_DAYS 7PASS_WARN_AGE 30UMASK 077
一、password required pam_pwquality.so dcredit=-1 ucredit=-1 ocredit=-1 lcredit=0
二、添加到/etc/security/pwquality.conf 中
4、/etc/security/pwquality.conf详解:
retry=N:定义登录/修改密码失败时,可以重试的次数;
Difok=N:定义新密码中必须有几个字符要与旧密码不同。但是如果新密码中有1/2以上的字符与旧密码不同时,该新密码将被接受;
minlen=N:定义用户密码的最小长度;
dcredit=N:定义用户密码中必须包含多少个数字;
ucredit=N:定义用户密码中必须包含多少个大写字母;
lcredit=N:定义用户密码中必须包含多少个小些字母;
ocredit=N:定义用户密码中必须包含多少个特殊字符(除数字、字母之外);
其中 =-1表示,至少有一个
5、/etc/login.defs详解:
PASS_MAX_DAYS 99999 #密码的最大有效期, 99999:永久有期
PASS_MIN_DAYS 0 #是否可修改密码,0可修改,非0多少天后可修改
PASS_MIN_LEN 5 #密码最小长度,使用pam_cracklib mole,该参数不再有效
PASS_WARN_AGE 7 #密码失效前多少天在用户登录时通知用户修改密码
6、实际生产环境配置
/etc/security/pwquality.conf :
minlen = 8
minclass = 1
maxrepeat = 0
maxclassrepeat = 4
lcredit = -1
ucredit = -1
dcredit = -1
ocredit = -1
difok=5
/etc/login.defs:
PASS_MAX_DAYS 90
PASS_MIN_LEN 12
PASS_MIN_DAYS 7
PASS_WARN_AGE 30
UMASK 077
❽ 如何在 Linux 为系统用户设置密码复杂度策略
假设你已经在你的 Linux 系统上使用了 PAM (Pluggable Authentication Moles,插入式验证模块),因为这些年所有的 Linux 发行版都在使用它。 一、准备工作 安装 PAM 的 cracklib 模块,cracklib 能提供额外的密码检查能力。 Debian、Ubuntu 或 Linux Mint 系统上: 1 $ sudo apt-get install libpam-cracklib CentOS、Fedora、RHEL 系统已经默认安装了 cracklib PAM 模块,所以在这些系统上无需执行上面的操作。 为了强制实施密码策略,我们需要修改 /etc/pam.d 目录下的 PAM 配置文件。一旦修改,策略会马上生效。 注意:此教程中的密码策略只对非 root 用户有效,对 root 用户无效。 二、禁止使用旧密码 找到同时有 “password” 和 “pam_unix.so” 字段并且附加有 “remember=5” 的那行,它表示禁止使用最近用过的5个密码(己使用过的密码会被保存在 /etc/security/opasswd 下面)。 Debian、Ubuntu 或 Linux Mint 系统上: 1 2 $ sudo vi /etc/pam.d/common-password password [success=1 default=ignore] pam_unix.so obscure sha512 remember=5 CentOS、Fedora、RHEL 系统上: 1 2 $ sudo vi /etc/pam.d/system-auth password sufficient pamunix.so sha512 shadow nullok tryfirstpass useauthtok remember=5 三、设置最短密码长度 找到同时有 “password” 和 “pam_cracklib.so” 字段并且附加有 “minlen=10” 的那行,它表示最小密码长度为(10 - 类型数量)。这里的 “类型数量” 表示不同的字符类型数量。PAM 提供4种类型符号作为密码(大写字母、小写字母、数字和标点符号)。如果你的密码同时用上了这4种类型的符号,并且你的 minlen 设为10,那么最短的密码长度允许是6个字符。 Debian、Ubuntu 或 Linux Mint 系统上: 1 2 $ sudo vi /etc/pam.d/common-password password requisite pam_cracklib.so retry=3 minlen=10 difok=3 CentOS、Fedora、RHEL 系统上: 1 2 $ sudo vi /etc/pam.d/system-auth password requisite pam_cracklib.so retry=3 difok=3 minlen=10 四、设置密码复杂度 找到同时有 “password” 和 “pam_cracklib.so” 字段并且附加有 “ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1” 的那行,它表示密码必须至少包含一个大写字母(ucredit),两个小写字母(lcredit),一个数字(dcredit)和一个标点符号(ocredit)。 Debian、Ubuntu 或 Linux Mint 系统上: 1 2 $ sudo vi /etc/pam.d/common-password password requisite pam_cracklib.so retry=3 minlen=10 difok=3 ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1 CentOS、Fedora、RHEL 系统上: 1 2 $ sudo vi /etc/pam.d/system-auth password requisite pam_cracklib.so retry=3 difok=3 minlen=10 ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1 五、设置密码过期期限 编辑 /etc/login.defs 文件,可以设置当前密码的有效期限,具体变量如下所示: 1 2 $ sudo vi /etc/login.defs PASSMAXDAYS 150 PASSMINDAYS 0 PASSWARNAGE 7 这些设置要求用户每6个月改变他们的密码,并且会提前7天提醒用户密码快到期了。 如果你想为每个用户设置不同的密码期限,使用 chage 命令。下面的命令可以查看某个用户的密码限期: $ sudo chage -l xmolo Last password change : Dec 30, 2013 Password expires : never Password inactive : never Account expires : never Minimum number of days between password change : 0 Maximum number of days between password change : 99999 Number of days of warning before password expires : 7 默认情况下,用户的密码永不过期。 下面的命令用于修改 xmolo 用户的密码期限: 1 $ sudo chage -E 6/30/2014 -m 5 -M 90 -I 30 -W 14 xmolo 上面的命令将密码期限设为2014年6月3日。另外,修改密码的最短周期为5天,最长周期为90天。密码过期前14天会发送消息提醒用户,过期后帐号会被锁住30天。