|
本帖最后由 CHEARV 于 2010-11-6 20:00 编辑
这是我在论坛上找到的一段源代码:#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$oIE = ObjCreate("Shell.Explorer.2")
GUICreate("随机图片", 130, 60, 0,0)
$GUIActiveX = GUICtrlCreateObj ($oIE, 0, 0, 130, 60)
GUISetState()
$a = Random (1,999999999, 1)
$oIE.navigate("http://www.pkland.net/img.php?key="&$a)
;开始识别
sleep(500)
$oShell = ObjCreate("siminiocr.ocr")
$oShell.SetDict("pkland.txt") ;使用字库pkland.txt
$oShell.SetFontColor("FFFFFF") ;文字颜色为白色
$b=$oShell.OCR(15,39,104,63) ;识别区域
MsgBox(0,"识别结果",$b)
Exit
通过搜索发现,该插件里面有个允许颜色偏差的设置项,我参照上面的例子,怎么也设置都出错。
这是该插件的帮助资料:
simPlugOcr.ocr接口(位于simplugocr.dll文件中,按键用户请将其放在plugin目录下,VB,VC,Delphi,BCB用户将其作为COM调用即可)详细说明:
//属性:
property FontColor;//设置字体颜色,默认为"000000"
property BGColor;//设置背景颜色,主要用于识别颜色相差很大的文字,而背景色相差不大,默认为"ffffff"
property BGRec;//选择是否用背景找字,True表示用背景找字,False表示用字体颜色找字,默认为False;
property Cx;//调用findchar函数之后,这里储存文字左上角x坐标
property Cy;//调用findchar函数之后,这里储存文字左上角y坐标
property SimilarColor;//颜色偏差0-255,默认为0,一般70左右就可以了,梦幻坐标我设置73
property SimilarFont;//文字模糊查找,设定允许不同点阵个数,默认为0,梦幻坐标我设置5
property Dict;//设置字库地址,支持绝对路径,默认位置为plugin/default_dict.txt
//方法:
function OCR(x1,y1,x2,y2);//识别文字,返回识别到的文字
function FindStr(CharStr, x1,y1,x2,y2); //查找字串(相连的多个字),返回cx*8192+cy的值
function FindChar(CharStr, x1,y1,x2,y2); //查找文字,返回cx*8192+cy的值
注意事项
调用插件的时候只需要createobject一次,除非另有其他原因可以createobject多个(比如要用多个不同的字库做不同的事情)
设置属性之后,会一直保存上次设置的属性值,所以属性一般也只需要设定一次,除非有改变的需要(比如需要识别的字体颜色改变了)
可多次调用方法来完成不同的任务
我想请教的是,这一项在AU3里面是怎么写:
property SimilarColor;//颜色偏差0-255,默认为0,一般70左右就可以了,梦幻坐标我设置73。
我按上面的格式在代码里面加一条
$oShell.SetSimilarColor(70);
结果报错无法运行。
解决办法,请使用3楼的新插件。
设置偏差: $oShell.SetSimilarColor("70") |
|