识别图片名称
<h1>识别图片名称</h1>
<h2>功能描述</h2>
<p>在指定区域内查找并识别与模板匹配的图片名称。</p>
<h2>输入参数</h2>
<ul>
<li><strong>字库编号</strong>(必填)
- 描述:模板前缀
- 示例:<code>坐标</code></li>
<li><strong>字库集合</strong>(必填)
- 描述:模板名称,支持多模板(用<code>|</code>分隔)和通配符(<code>-{n}</code>/<code>-{*}</code>)
- 示例:<code>1-{*}|2-{*}|3-{*}|4-{*}|5-{*}|6-{*}|7-{*}|8-{*}|9-{*}|0-{*}</code></li>
<li><strong>识别范围</strong>(必填)
- 描述:检测区域坐标,格式:<code>x,y,width,height</code>
- 示例:<code>128,72,1024,576</code></li>
<li><strong>行模式</strong>(可选)
- 描述:可选<code>单行</code>或<code>多行</code>(默认<code>单行</code>)
- 示例:<code>多行</code></li>
</ul>
<h2>输出结果</h2>
<ul>
<li><strong>识别结果</strong>
- 描述:拼接后的识别文字
- 示例:<code>确定提交</code></li>
<li><strong>完整识别结果</strong>
- 描述:保留原始模板名的完整结果
- 示例:<code>按钮1|按钮-5|菜单-*</code></li>
<li><strong>每个文字坐标范围</strong>
- 描述:各图片坐标(<code>x,y,w,h</code>|分隔)
- 示例:<code>100,200,50,60|150,210,55,58</code></li>
<li><strong>所有文字坐标范围</strong>
- 描述:整体包围框坐标
- 示例:<code>100,200,105,58</code></li>
</ul>
<h2>典型场景</h2>
<ol>
<li><strong>单文字精确识别</strong>
- 输入参数:
<code> 字库编号 = &quot;坐标&quot; 字库集合 = &quot;1-{*}|2-{*}|3-{*}|4-{*}|5-{*}|6-{*}|7-{*}|8-{*}|9-{*}|0-{*}&quot; 识别范围 = &quot;128,72,1024,576&quot; </code></li>
</ol>
<p> - 行为:在指定区域内精确匹配文字模板</p>
<p> - 日志输出:
<code> ✔开始执行[识别图片名称] ⚠Step3 候选太少,跳过孤立过滤 ✔[文字1], 相似度[1.000], 坐标[128,72,1024,576] ✔行数[1], 总字符[1], 识别结果[1] ✔结束执行[识别图片名称] </code></p>
<p> - 输出结果:
<code> 识别结果: () --&gt; (1) 所有文字坐标范围: () --&gt; (128,72,1024,576) 每个文字坐标范围: () --&gt; (128,72,1024,576) 完整识别结果: () --&gt; (文字1) </code></p>
<ol>
<li><strong>多文字通配识别</strong>
- 输入参数:
<code> 字库编号 = &quot;btn&quot; 字库集合 = &quot;按钮|按钮-{5}|菜单-{*}&quot; 识别范围 = &quot;0,0,1920,1080&quot; 行模式 = &quot;多行&quot; </code></li>
</ol>
<p> - 行为:全屏识别多种按钮和菜单项</p>
<p> - 日志输出:
<code> ✔开始执行[识别图片名称] ✔[按钮1], 相似度[0.950], 坐标[100,200,50,60] ✔[菜单-主页], 相似度[0.880], 坐标[300,150,70,30] ✔行数[2], 总字符[2], 识别结果[按钮1 菜单-主页] ✔结束执行[识别图片名称] </code></p>
<p> - 输出结果:
<code> 识别结果: () --&gt; (按钮1 菜单-主页) 所有文字坐标范围: () --&gt; (100,200,105,58) 每个文字坐标范围: () --&gt; (100,200,50,60|300,150,70,30) 完整识别结果: () --&gt; (按钮1|菜单-主页) </code></p>
<ol>
<li><strong>无匹配场景</strong>
- 输入参数:
<code> 字库编号 = &quot;无效&quot; 字库集合 = &quot;未知模板&quot; 识别范围 = &quot;0,0,1920,1080&quot; </code></li>
</ol>
<p> - 行为:未识别到任何候选</p>
<p> - 日志输出:
<code> ✖Step1 字库编号或集合无效,无法收集任何候选 ✖结束执行[识别图片名称] </code></p>
<p> - 输出结果:
<code> 识别结果: () --&gt; () 所有文字坐标范围: () --&gt; () 每个文字坐标范围: () --&gt; () 完整识别结果: () --&gt; () </code></p>
<h2>注意事项</h2>
<ol>
<li><strong>字库集合内模板匹配优先级</strong>:<code>模板</code> > <code>模板-{n}</code> > <code>模板-{*}</code></li>
<li><strong>坐标原点</strong>:检测区域左上角</li>
<li><strong>参数校验</strong>:
- 若参数不完整(如缺少 <code>字库编号</code> 或 <code>识别范围</code>),函数返回空字符串并记录错误日志(<code>Logger.log2</code>)。</li>
<li><strong>日志级别</strong>:
- <code>log4</code>:调试信息(如参数校验通过)。
- <code>log2</code>:错误信息(如未收集到候选)。</li>
<li><strong>通配符匹配规则</strong>:
- <code>-{n}</code>:匹配固定长度字符(如 <code>按钮-{5}</code> 匹配 <code>按钮-12345</code>)。
- <code>-{*}</code>:匹配任意长度字符(如 <code>按钮-{*}</code> 匹配 <code>按钮-主页</code>)。</li>
</ol>