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

匹配绑定窗口图片6 - MatchWindowsThresholdFromPath

函数简介

在绑定窗口的指定区域内,通过二值化处理后匹配符合模板图片的坐标。此函数支持多模板匹配、旋转匹配和缩放匹配,返回相对绑定窗口的坐标位置。适用于需要精确图像识别的场景,如游戏自动化、界面测试等。

当x1, y1, x2, y2参数都传0时,将匹配窗口整个客户区。

接口名称

MatchWindowsThresholdFromPath

DLL调用

long MatchWindowsThresholdFromPath(long ola, int x1, int y1, int x2, int y2, string colorJson, string templ, double matchVal, double angle, double scale)

参数定义:

  • ola (长整型数): OLAPlug对象的指针,由 CreateCOLAPlugInterFace 接口生成。
  • x1 (整型数): 查找区域的左上角X坐标
  • y1 (整型数): 查找区域的左上角Y坐标
  • x2 (整型数): 查找区域的右下角X坐标
  • y2 (整型数): 查找区域的右下角Y坐标
  • colorJson (字符串): 颜色列表的JSON字符串,格式如下:
    [
      {
        "StartColor": "3278FA",  // 起始颜色(RRGGBB格式)
        "EndColor": "6496FF",    // 结束颜色(RRGGBB格式)
        "Type": 0                // 匹配类型:0-普通模式取合集,1-反色模式取合集,2-普通模式取交集,3-反色模式取交集
      }
    ]
    
  • templ (字符串): 模板图片的路径,支持多个图片,用"|"分隔,如"test.bmp|test2.bmp|test3.bmp"
  • matchVal (双精度浮点数): 相似度阈值,范围0-1,如0.85表示85%相似度
  • angle (双精度浮点数): 旋转角度,每次匹配后旋转指定角度继续匹配,直到匹配成功。角度越小匹配次数越多,时间越长。0表示不旋转,速度最快
  • scale (双精度浮点数): 窗口缩放比例,默认为1。可通过 GetScaleFromWindows 接口获取当前窗口缩放比例

示例:

// 定义颜色范围
string colorJson = R"([
    {
        "StartColor": "3278FA",
        "EndColor": "6496FF",
        "Type": 0
    },
    {
        "StartColor": "FF0000",
        "EndColor": "FF3333",
        "Type": 1
    }
])";

// 匹配图片
long resultPtr = MatchWindowsThresholdFromPath(ola, 0, 0, 800, 600, colorJson, "templates/button.bmp", 0.85, 45.0, 1.0);
if (resultPtr != 0) {
    string result = GetStringFromPtr(resultPtr);
    printf("匹配结果: %s\n", result.c_str());
    
    // 解析JSON结果
    // {
    //     "MatchVal": 0.85,      // 数据相似度
    //     "MatchState": true,    // 是否大于指定精度
    //     "Index": 0,            // 多图识别时的返回索引
    //     "Angle": 45.0,         // 识别结果角度
    //     "MatchPoint": {        // 匹配点坐标
    //         "x": 100,
    //         "y": 200
    //     }
    // }
    
    // 释放字符串内存
    FreeStringPtr(ola, resultPtr);
}

COM调用

string MatchWindowsThresholdFromPath(int x1, int y1, int x2, int y2, string colorJson, string templ, double matchVal, double angle, double scale)

参数定义:

参数定义同DLL调用

示例:

# 定义颜色范围
colorJson = '''[
    {
        "StartColor": "3278FA",
        "EndColor": "6496FF",
        "Type": 0
    },
    {
        "StartColor": "FF0000",
        "EndColor": "FF3333",
        "Type": 1
    }
]'''

# 匹配图片
result = ola.MatchWindowsThresholdFromPath(0, 0, 800, 600, colorJson, "templates/button.bmp", 0.85, 45.0, 1.0)
print(f"匹配结果: {result}")

# 解析JSON结果
# {
#     "MatchVal": 0.85,      # 数据相似度
#     "MatchState": true,    # 是否大于指定精度
#     "Index": 0,            # 多图识别时的返回索引
#     "Angle": 45.0,         # 识别结果角度
#     "MatchPoint": {        # 匹配点坐标
#         "x": 100,
#         "y": 200
#     }
# }

返回值

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

  • MatchVal: 数据相似度,范围0-1
  • MatchState: 是否大于指定精度,用于快速判断识别结果
  • Index: 多图识别时的返回索引
  • Angle: 识别结果角度
  • MatchPoint: 匹配点坐标,包含x和y值

注意事项

  1. 颜色值必须使用RRGGBB格式的十六进制字符串
  2. 支持多个颜色范围的指定,每个范围可以设置不同的匹配类型
  3. 颜色匹配类型说明:
    • 0: 正常匹配,保留在颜色范围内的像素
    • 1: 反色匹配,保留在颜色范围外的像素
    • 2: 正常交集匹配,保留在颜色范围内的像素取交集
    • 3: 反色交集匹配,保留在颜色范围外的像素取交集
  4. 模板图片路径支持多个图片,用"|"分隔
  5. 相似度阈值范围必须在0-1之间
  6. 旋转角度越小,匹配次数越多,耗时越长
  7. 窗口缩放比例必须与实际情况相符
  8. DLL调用时,返回的字符串指针需要调用 FreeStringPtr 接口释放内存
  9. 建议在使用前检查参数的有效性
  10. 处理大图片时注意性能影响
  11. 返回的坐标是相对于绑定窗口的坐标
  12. 如果匹配失败,MatchState将为false
Last Updated:
Prev
匹配绑定窗口图片5 - MatchWindowsThresholdFromPtrAll
Next
匹配绑定窗口图片7 - MatchWindowsThresholdFromPathAll