匹配图片4 - MatchImagePtrFromPath
函数简介
匹配符合模板图片的坐标,默认返回最优结果
返回数据类型解析:
{
"MatchVal": 0.85,//数据相似度
"MatchState": true,//返回数据是否大于指定精度,用于快速判断识别结果
"Index": 0,//多图识别时的返回索引
"Angle": 45.0,//识别结果角度
"X": 100,//识别结果X坐标
"Y": 200,//识别结果Y坐标
"Width":100,//识别结果宽度
"Height":100//识别结果高度
}
接口名称
MatchImagePtrFromPath
DLL调用
long MatchImagePtrFromPath(long ola, long source, string templ, double matchVal, int type, double angle, double scale)
参数定义:
ola(长整型数): OLAPlug对象的指针,由DLL版本 CreateCOLAPlugInterFace 接口生成source(长整型数): OLAImage对象的地址templ(字符串): 模板图片的路径,可以是多个图片,比如"test.bmp|test2.bmp|test3.bmp"matchVal(双精度浮点数): 相似度,如0.85,最大为1type(整型数): 匹配类型:- 灰度匹配,速度快
- 彩色匹配
- 透明匹配
- 透明彩色权重匹配
angle(双精度浮点数): 旋转角度,每次匹配后旋转指定角度继续进行匹配,直到匹配成功,角度越小匹配次数越多时间越长。0为不旋转速度最快scale(双精度浮点数): 窗口缩放比例,默认为1,可以通过GetScaleFromWindows接口读取当前窗口缩放
示例:
// 加载源图片
long sourceImg = ola.LoadImage("source.bmp");
// 匹配图片,使用灰度匹配,相似度0.85,不旋转
string result = ola.MatchImagePtrFromPath(sourceImg, "template.bmp", 0.85, 1, 0.0, 1.0);
// 解析JSON结果
// {
// "MatchVal": 0.85,//数据相似度
// "MatchState": true,//返回数据是否大于指定精度,用于快速判断识别结果
// "Index": 0,//多图识别时的返回索引
// "Angle": 45.0,//识别结果角度
// "X": 100,//识别结果X坐标
// "Y": 200,//识别结果Y坐标
// "Width":100,//识别结果宽度
// "Height":100//识别结果高度
// }
// 使用完后释放图片内存
ola.FreeImagePtr(sourceImg);
返回值
字符串: 返回JSON格式的匹配结果,包含以下字段:
MatchVal(双精度浮点数): 实际匹配的相似度值MatchState(boolean): 是否匹配成功Index(整型数): 多图匹配时的图片索引,从0开始Angle(双精度浮点数): 匹配到的图像旋转角度X: 匹配点X坐标Y: 匹配点Y坐标Width: 匹配模板宽度Height: 匹配模板高度
注意:
- 多图识别时,Index字段标识是第几个图片返回的结果,索引从0开始
- DLL调用返回字符串指针地址,需要调用 FreeStringPtr 接口释放内存
