您的位置:首页 > 其它

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

2013-09-05 19:29 169 查看
在以前的文章中,我简单介绍过如何使用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了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: