OLA 文档中心OLA 文档中心
OLA插件文档
OLA授权中心文档
OLA支付中心文档
OLA插件文档
OLA授权中心文档
OLA支付中心文档
  • 欧拉插件
  • 窗口

    • 绑定窗口 - BindWindow
    • 绑定窗口高级 - BindWindowEx
    • 解绑窗口 - UnBindWindow
    • 强制卸载DLL - ReleaseWindowsDll
    • 查看绑定窗口 - GetBindWindow
    • 查找窗口 - FindWindow
    • 拓展找窗口 - FindWindowEx
    • 通过进程找窗口 - FindWindowByProcess
    • 通过进程找窗口 - FindWindowByProcessId
    • 获取窗口 - GetWindow
    • 获取焦点窗口 - GetForegroundFocus
    • 获取坐标所在窗口句柄 - GetPointWindow
    • 获取顶层窗口句柄 - GetForegroundWindow
    • 获取鼠标所在窗口句柄 - GetMousePointWindow
    • 获取特殊窗口 - GetSpecialWindow
    • 枚举进程 - EnumProcess
    • 枚举窗口 - EnumWindow
    • 枚举进程窗口 - EnumWindowByProcessId
    • 枚举进程窗口 - EnumWindowByProcess
    • 枚举特殊窗口 - EnumWindowSuper
    • 查找特殊窗口 - FindWindowSuper
    • 获取线程ID - GetWindowThreadId
    • 获取进程ID - GetWindowProcessId
    • 移动窗口 - MoveWindow
    • 窗口坐标转屏幕坐标 - ClientToScreen
    • 屏幕坐标转窗口坐标 - ScreenToClient
    • 获取绑定窗口缩放比例 - GetScaleFromWindows
    • 获取窗口DPI感知比例 - GetWindowDpiAwarenessScale
    • 获取客户区大小 - GetClientSize
    • 获取窗口标题 - GetWindowTitle
    • 获取窗口类名 - GetWindowClass
    • 获取窗口区域 - GetWindowRect
    • 获取窗口所在路径 - GetWindowProcessPath
    • 获取窗口状态 - GetWindowState
    • 获取客户区域 - GetClientRect
    • 设置窗口标题 - SetWindowText
    • 设置窗口大小 - SetWindowSize
    • 设置窗口状态 - SetWindowState
    • 设置剪贴板 - SetClipboard
    • 设置客户区大小 - SetClientSize
    • 设置透明度 - SetWindowTransparent
    • 获取进程详细信息 - GetProcessInfo
    • 发送剪贴板内容 - SendPaste
    • 获取剪贴板内容 - GetClipboard
    • 发送字符串 - SendString
  • 鼠标

    • 范围鼠标移动 - MoveToEx
    • 获取鼠标特征码 - GetCursorShape
    • 获取鼠标图标 - GetCursorImage
    • 获取鼠标位置 - GetCursorPos
    • 相对移动 - MoveR
    • 移动 - MoveTo
    • 直接移动 - MoveToWithoutSimulator
    • 左键按下 - LeftDown
    • 左键弹起 - LeftUp
    • 左键点击 - LeftClick
    • 左键双击 - LeftDoubleClick
    • 右键按下 - RightDown
    • 右键弹起 - RightUp
    • 右键点击 - RightClick
    • 中键按下 - MiddleDown
    • 中键弹起 - MiddleUp
    • 中键点击 - MiddleClick
    • 中键上滚 - WheelUp
    • 中键下滚 - WheelDown
    • 生成鼠标移动轨迹 - GenerateMouseTrajectory
    • 设置系统鼠标精度 - EnableMouseAccuracy
  • 键盘

    • 按键 - KeyPress
    • 按键char - KeyPressChar
    • 按键str - KeyPressStr
    • 等待按键 - WaitKey
    • 键盘按住 - KeyDown
    • 键盘按住char - KeyDownChar
    • 键盘弹起 - KeyUp
    • 键盘弹起char - KeyUpChar
  • 图像处理

    • 截图并保存成文件 - Capture
    • 截图GIF - CaptureGif
    • 截图返回字节流 - GetScreenDataBmp
    • 截图返回字节流 - GetScreenData
    • 获取指定区域图象 - GetScreenDataPtr
    • 加载图片 - LoadImage
    • 加载图片 - LoadImageFromRGBData
    • 载入bmp图片 - LoadImageFromBmpData
    • 加载文件夹下的所有图片 - LoadImagePath(已弃用)
    • 保存图片 - SaveImageFromPtr
    • 拷贝图片 - CopyImage
    • 读取图片字节流 - GetImageData
    • 读取图片BMP字节流 - GetImageBmpData
    • 释放指定图片路径内存 - FreeImagePath
    • 释放所有内存 - FreeImageAll
    • 释放指定图片内存 - FreeImagePtr
    • 释放指定图片内存1 - FreeImageData
    • 裁剪图片 - Cropped
    • 获取图片大小 - GetImageSize
    • 调整图片大小 - ReSize
    • 调整图片大小 - ScalePixels
    • 弹窗显示图片 - ShowImage
    • 获取指定区域刷新率 - GetWindowsFps
    • 指定区域数据是否卡屏 - IsDisplayDead
    • 取色 - GetColor
    • 获取像素颜色 - GetColorPtr
    • RGB颜色转为16进制格式 - ARGB2Hex
    • RGB颜色转为16进制格式 - RGB2Hex
    • 16进制格式颜色转为ARGB - Hex2ARGB
    • 16进制格式颜色转为RGB - Hex2RGB
    • 对比颜色 - CmpColor
    • 对比颜色 - CmpColorPtr
    • 对比颜色 - CmpColorHex
    • 查找符合的颜色 - FindColor
    • 查找所有符合的颜色 - FindColorList
    • 查找指定颜色范围坐标 - FindMultiColor
    • 查找指定颜色范围坐标 - FindMultiColorFromPtr
    • 查找指定颜色范围坐标 - FindMultiColorList
    • 查找指定颜色范围坐标 - FindMultiColorListFromPtr
    • 查找指定区域内的颜色块 - FindColorBlock
    • 查找指定区域内的颜色块 - FindColorBlockPtr
    • 查找指定区域内的所有颜色块 - FindColorBlockList
    • 查找指定区域内的所有颜色块 - FindColorBlockListPtr
    • 设置指定颜色为新的颜色 - SetColorsToNewColor
    • 移除除指定颜色外的所有颜色 - RemoveOtherColors
    • 获取二值化图像 - GetThresholdImageFromMultiColorPtr
    • 获取指定区域二值化图像 -GetThresholdImageFromMultiColor
    • 获取指定颜色数量 - GetColorNum
    • 获取指定颜色数量 - GetColorNumPtr
    • 移除图片差异部分 - RemoveImageDiff
    • 生成二维码 - CreateQRCode
    • 解析二维码 - DecodeQRCode
    • 创建图片 - CreateImage
    • 设置图片指定坐标的颜色 - SetPixel
    • 设置图片指定坐标集的颜色 - SetPixelList
    • 拼接图片 - ConcatImage
    • 图片转为base64字符串 - ImageToBase64
    • base64字符串转为图片 - Base64ToImage
    • 旋转图片 - RotateImage
    • 覆盖图片 - CoverImage
    • 绘制圆形 - DrawCircle
    • 绘制矩形 - DrawRectangle
    • 绘制多边形 - DrawFillPoly
    • 坐标点排序 - SortPosDistance
    • 识别图片排除指定区域 - ExcludePos
    • 查找最近坐标点 - FindNearestPos
  • 图像识别

    • 匹配绑定窗口图片 - MatchWindowsFromPathAll
    • 匹配绑定窗口图片1 - MatchWindowsFromPtr
    • 匹配绑定窗口图片2 - MatchWindowsFromPtrAll
    • 匹配绑定窗口图片3 - MatchWindowsFromPath
    • 匹配绑定窗口图片4 - MatchWindowsThresholdFromPtr
    • 匹配绑定窗口图片5 - MatchWindowsThresholdFromPtrAll
    • 匹配绑定窗口图片6 - MatchWindowsThresholdFromPath
    • 匹配绑定窗口图片7 - MatchWindowsThresholdFromPathAll
    • 匹配图片 - MatchImageFromPathAll
    • 匹配图片1 - MatchImageFromPath
    • 匹配图片2 - MatchImageFromPtrAll
    • 匹配图片3 - MatchImageFromPtr
    • 匹配图片4 - MatchImagePtrFromPath
    • 匹配图片5 - MatchImagePtrFromPathAll
    • 匹配动画窗口 - MatchAnimationFromPath
    • 匹配动画窗口1 - MatchAnimationFromPtr
    • 图片比较-结构相似性指数 - CalculateSSIM
    • 图片比较-完整比较 - IsSameImage
    • 图片比较-直方图比较 - CalculateHistograms
    • 图片比较-均方误差 - CalculateMSE
    • 是否显示匹配结果弹窗 - ShowMatchWindow
  • 文字识别

    • 指定区域识字 - Ocr
    • 指定bmp图片识字 - OcrFromBmpData
    • 指定区域详细信息- OcrDetails
    • 指定图片识字 - OcrFromPtr
    • 指定bmp图片详细信息 - OcrFromBmpDataDetails
    • 指定图片详细信息 - OcrFromPtrDetails
  • 数据库

    • 打开数据库 - OpenDatabase
    • 读取错误信息 - GetDatabaseError
    • 关闭数据库 - CloseDatabase
    • 读取所有表名 - GetAllTableNames
    • 读取表结构信息 - GetTableInfo
    • 读取表结构详细信息 - GetTableInfoDetail
    • 执行SQL - ExecuteSql
    • 执行快速查询 - ExecuteScalar
    • 执行查询 - ExecuteReader
    • 读取游标 - Read
    • 读取查询结果的数量 - GetDataCount
    • 读取列数量 - GetColumnCount
    • 读取列名称 - GetColumnName
    • 读取列索引 - GetColumnIndex
    • 读取列类型 - GetColumnType
    • 销毁STMT对象 - Finalize
    • 读取double数据 - GetDouble
    • 读取int32数据 - GetInt32
    • 读取int64数据 - GetInt64
    • 读取string数据 - GetString
    • 读取double数据 - GetDoubleByColumnName
    • 读取int数据 - GetInt32ByColumnName
    • 读取long数据 - GetInt64ByColumnName
    • 读取string数据 - GetStringByColumnName
  • 图像数据库

    • 加载字库图片 - InitDictFromDir
    • 添加字库数据 - ImportDictWord
    • 导出字库数据 - ExportDict
    • 移除字库 - RemoveDict
    • 移除词典词条 - RemoveDictWord
    • 读取字库图片 - GetDictImage
    • 查找文字 - FindStr
    • 初始化OLA数据库 - InitOlaDatabase
    • 从目录初始化OLA图像 - InitOlaImageFromDir
    • 从目录移除OLA图像 - RemoveOlaImageFromDir
    • 导出OLA图像到目录 - ExportOlaImageDir
    • 导入OLA图像 - ImportOlaImage
    • 获取OLA图像 - GetOlaImage
    • 移除OLA图像 - RemoveOlaImage
  • Config相关

    • 读取数据库配置项 - GetDbConfig
    • 设置数据库配置 - SetDbConfig
    • 移除数据库配置项 - RemoveDbConfig
    • 读取数据库配置项 - GetDbConfigEx
    • 设置数据库配置 - SetDbConfigEx
    • 移除数据库配置项 - RemoveDbConfigEx
  • 高级版功能

    • AI

      • YOLO
    • 防护盾

  • 快捷键

    • 启动快捷键监听 - StartHotkeyHook
    • 停止快捷键监听 - StopHotkeyHook
    • 注册键盘快捷键 - RegisterHotkey
    • 卸载键盘快捷键 - UnregisterHotkey
    • 注册鼠标点击快捷键 - RegisterMouseButton
    • 卸载鼠标点击快捷键 - UnregisterMouseButton
    • 注册鼠标滚轮快捷键 - RegisterMouseWheel
    • 卸载鼠标滚轮快捷键 - UnregisterMouseWheel
    • 注册鼠标移动快捷键 - RegisterMouseMove
    • 卸载鼠标移动快捷键 - UnregisterMouseMove
    • 注册鼠标拖动快捷键 - RegisterMouseDrag
    • 卸载鼠标拖动快捷键 - UnregisterMouseDrag
  • 设置

    • 版本 - Ver
    • 获取插件路径 - GetBasePath
    • 获取机器码 - GetMachineCode
    • 获取全局路径 - GetPath
    • 设置全局路径 - SetPath
    • 读取用户自定义设置 - GetConfig
    • 修改用户自定义设置 - SetConfig
    • 修改用户自定义设置 - SetConfigByKey
  • 其他

    • 注册到后台 - Reg
    • 创建OLA对象
    • 释放OLA对象 - DestroyCOLAPlugInterFace
    • 释放字符串内存 - FreeStringPtr
    • 读取字符串大小 - GetStringSize
    • 从内存地址读取字符串 - GetStringFromPtr
    • 执行cmd指令 - ExecuteCmd
  • 系统

    • 控制窗口任务栏图标 - ShowTaskBarIcon
    • 检测UAC状态 - CheckUAC
    • 设置UAC状态 - SetUAC
    • 运行指定程序 - RunApp
    • 延时指定毫秒 - Delay
    • 延时指定随机时间 - Delays
    • 拖动文件到窗口 - SendDropFiles

匹配动画窗口1 - MatchAnimationFromPtr

函数简介

匹配动画窗口,可用于GIF动画识别。可在识别指定时间内动图。查找到立马返回结果,返回相对绑定窗口坐标坐标

识别结果最长等待时间为time + 1000ms

x1 , y1, x2, y2传 0, 0, 0, 0 为窗口整个客户区

返回数据类型解析:

{
		"MatchVal": 0.85,//数据相似度
		"MatchState": true,//返回数据是否大于指定精度,用于快速判断识别结果
		"Index": 0,//多图识别时的返回索引
		"Angle": 45.0,//识别结果角度
		"MatchPoint": {
			"x": 100,//识别结果X坐标
			"y": 200//识别结果Y坐标
		}
}

接口名称

MatchAnimationFromPtr

DLL调用

long MatchAnimationFromPtr(long ola, int x1, int y1, int x2, int y2, long templ, double matchVal, int type, double angle, double scale, int delay, int time, int threadCount)

参数定义:

  • ola (长整型数): OLAPlug对象的指针,由DLL版本 CreateCOLAPlugInterFace 接口生成
  • x1 (整型数): 查找区域的左上角X坐标
  • y1 (整型数): 查找区域的左上角Y坐标
  • x2 (整型数): 查找区域的右下角X坐标
  • y2 (整型数): 查找区域的右下角Y坐标
  • templ (长整型数): OLAImage对象的地址,由LoadImage等接口生成
  • matchVal (双精度浮点数): 相似度阈值,范围0-1,如0.85表示85%相似度
  • type (整型数): 匹配类型
    • 1: 灰度匹配,速度快
    • 2: 彩色匹配
    • 3: 透明匹配
  • angle (双精度浮点数): 旋转角度,每次匹配后旋转指定角度继续匹配,直到匹配成功。角度越小匹配次数越多,时间越长。0为不旋转,速度最快
  • scale (双精度浮点数): 窗口缩放比例,默认为1。可通过GetScaleFromWindows接口获取当前窗口缩放
  • delay (整型数): 动画帧间隔,单位毫秒
  • time (整型数): 总识别时间,单位毫秒
  • threadCount (整型数): 用于查找的线程数。线程数需要根据delay帧率自行调整:
    • 过小会导致识别时间到期未识别完
    • 过大会导致CPU占用过大

示例:

// 创建OLA对象
long ola = CreateCOLAPlugInterFace();

// 加载模板图片
long templ = LoadImage(ola, "animation.bmp");

// 执行动画匹配
long ret = MatchAnimationFromPtr(ola, 0, 0, 0, 0, templ, 0.85, 1, 45.0, 1.0, 20, 1000, 5);

// 检查操作是否成功
if (ret != 0) {
    // 获取匹配结果
    char* result = (char*)ret;
    printf("匹配结果: %s\n", result);
    
    // 释放返回的字符串内存
    FreeStringPtr(result);
} else {
    // 匹配失败
}

// 释放模板图片内存
FreeImagePtr(ola, templ);

COM调用

string MatchAnimationFromPtr(int x1, int y1, int x2, int y2, long templ, double matchVal, int type, double angle, double scale, int delay, int time, int threadCount)

参数定义:

  • x1 (整型数): 查找区域的左上角X坐标
  • y1 (整型数): 查找区域的左上角Y坐标
  • x2 (整型数): 查找区域的右下角X坐标
  • y2 (整型数): 查找区域的右下角Y坐标
  • templ (长整型数): OLAImage对象的地址
  • matchVal (双精度浮点数): 相似度阈值,范围0-1
  • type (整型数): 匹配类型
  • angle (双精度浮点数): 旋转角度
  • scale (双精度浮点数): 窗口缩放比例
  • delay (整型数): 动画帧间隔,单位毫秒
  • time (整型数): 总识别时间,单位毫秒
  • threadCount (整型数): 用于查找的线程数

示例:

// 加载模板图片
long templ = ola.LoadImage("animation.bmp");

// 执行动画匹配
string result = ola.MatchAnimationFromPtr(0, 0, 0, 0, templ, 0.85, 1, 45.0, 1.0, 20, 1000, 5);

// 检查操作是否成功
if (!result.empty()) {
    // 匹配成功,result包含匹配结果
    cout << "匹配结果: " << result << endl;
} else {
    // 匹配失败
}

// 释放模板图片内存
ola.FreeImagePtr(templ);

返回值

字符串: 返回JSON格式的匹配结果,包含以下字段:

{
    "MatchVal": 0.85,      // 数据相似度
    "MatchState": true,    // 返回数据是否大于指定精度,用于快速判断识别结果
    "Index": 0,           // 多图识别时的返回索引
    "Angle": 45.0,        // 识别结果角度
    "MatchPoint": {
        "x": 100,         // 识别结果X坐标
        "y": 200          // 识别结果Y坐标
    }
}

注意事项

  1. 当x1, y1, x2, y2都传0时,将搜索整个窗口客户区
  2. 识别结果最长等待时间为time + 1000ms
  3. 匹配类型的选择:
    • 灰度匹配速度最快,但精度较低
    • 彩色匹配精度较高,但速度较慢
    • 透明匹配适用于带透明通道的图片
  4. 线程数的选择:
    • 建议根据动画帧率和CPU核心数来设置
    • 一般建议设置为CPU核心数的1-2倍
  5. 角度参数影响匹配时间和精度:
    • 角度越小,匹配次数越多,时间越长
    • 角度为0时速度最快,但可能错过旋转的目标
  6. 缩放比例应与窗口实际缩放比例一致
  7. DLL调用返回的字符串指针需要调用 FreeStringPtr 释放内存
  8. 返回的坐标是相对于绑定窗口客户区的坐标

相关函数

  • LoadImage: 加载图片
  • FreeImagePtr: 释放图片内存
  • FreeStringPtr: 释放字符串内存
  • GetScaleFromWindows: 获取窗口缩放比例
Last Updated:
Prev
匹配动画窗口 - MatchAnimationFromPath
Next
图片比较-结构相似性指数 - CalculateSSIM