SilkTest高级进阶系列1-用textract来识别文本

在以前的文章中,我简单介绍过如何使用SilkTest中的OCR功能识别界面或者是bmp图片上的文字内容。也提到过silktest自带一个ocr识别的pattern库,该库可以识别windows下的某些字体。不过这些字体都是常见的字体,种类有限,对于某些特殊的字体,默认是无法识别的。下面是一个例子。

在做这个例子之前,我们需要一些准备工作:

打开word,在里面输入如下一行文字,并将其字体设置为Bell MT,字体大小为18。然后对该行文字抓屏并将其存为bmp文件c:/ocr/new.bmp
Auto Test: SilkTest 2006

调用下面的silktest代码来尝试识别该bmp文件上的文字:
[-] testcase OCR_Font() appstate none
[ ] int iRet  // return value
[ ] string sText // text
[ ] string sBmp = "c:/ocr/new.bmp"
[ ] iRet = OcrGetTextFromBmp (sText, sBmp)
[ ] print(sText)

其运行结果只会打印一个冒号:,这表明默认的textract pattern库无法识别Bell MT字体,我们必须创建一个支持Bell MT字体的pattern库才行。下面就是完成这一任务的一些步骤:
1.首先我们需要备份silktest目录下面的textract pattern库文件sgOcrPattern.pat和配置文件textract.ini
2. 打开textract.ini,在Include1一行的最后面加上你希望支持的字体名称,用逗号结束,注意不要在字体名称和逗号之间有任何空格,看上去应该像是...,Arial Narrow,Bell MT,
3.保存对textract.ini的修改
4.在silktest目录下面运行ExGUI.exe,点击"Build font pattern database"按钮,在新打开的对话框中点击OK,这个时候该工具会帮你扫描系统中的字体库,并且根据textract.ini所作的设置来生成可用的新pattern库,等待该扫描完成后,你会发现sgOcrPattern.pat的时间戳被更新了。
5.再次运行上面的测试用例OCR_Font(),它将调用新的pattern库来识别bmp图片上的文字,这次它就能够打印出正确识别的结果Auto Test: SilkTest 2006了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值