ms-vite-plugin 1.4.11 → 1.4.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/api/appleocr.md +12 -7
- package/docs/api/global.md +14 -0
- package/docs/api/image.md +52 -0
- package/docs/api/paddleocr.md +5 -1
- package/docs/api/pip.md +191 -11
- package/docs/apicn/appleocr.md +12 -7
- package/docs/apicn/global.md +14 -0
- package/docs/apicn/image.md +54 -0
- package/docs/apicn/paddleocr.md +4 -0
- package/docs/apicn/pip.md +191 -11
- package/docs/apipython/appleocr.md +14 -9
- package/docs/apipython/image.md +45 -0
- package/docs/apipython/paddleocr.md +7 -4
- package/docs/apipython/pip.md +203 -11
- package/docs/httpapi/api.md +1 -1
- package/package.json +1 -1
- package/webview/assets/index-C8WE_Bef.js +2 -0
- package/webview/assets/rolldown-runtime-_TIqcEvS.js +1 -0
- package/webview/assets/vendor-modules-lYh5b13U.js +93553 -0
- package/webview/index.html +3 -2
- package/webview/assets/index-CFwoQXO_.js +0 -13
- package/webview/assets/vendor-modules-Oqi8dZEn.js +0 -42198
package/docs/apicn/pip.md
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
# 悬浮窗模块 ($悬浮窗)
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
悬浮窗模块提供 iOS 画中画(Picture in Picture)悬浮窗能力,可用于显示脚本日志、保活提示或脚本自定义文本。
|
|
4
4
|
|
|
5
5
|
## 功能特性
|
|
6
6
|
|
|
7
|
-
-
|
|
7
|
+
- **显示模式**:支持日志、保活和自定义三种显示模式
|
|
8
|
+
- **关闭控制**:支持主动关闭悬浮窗
|
|
8
9
|
- **状态查询**:判断悬浮窗是否正在显示
|
|
9
|
-
-
|
|
10
|
+
- **尺寸设置**:日志模式和自定义模式支持设置内容宽高,并按模式分别持久化
|
|
11
|
+
- **自定义文本**:自定义模式支持文本、换行、文字颜色、背景色和文字大小
|
|
10
12
|
|
|
11
13
|
## API 方法
|
|
12
14
|
|
|
@@ -39,7 +41,7 @@ if (是否显示) {
|
|
|
39
41
|
function 切换到日志模式(): 布尔值;
|
|
40
42
|
```
|
|
41
43
|
|
|
42
|
-
切换到日志模式并尝试显示悬浮窗日志窗口。首次显示悬浮窗时 App
|
|
44
|
+
切换到日志模式并尝试显示悬浮窗日志窗口。首次显示悬浮窗时 App 必须在前台。日志模式会恢复最近一次保存的日志窗口尺寸。
|
|
43
45
|
|
|
44
46
|
**返回值:**
|
|
45
47
|
|
|
@@ -60,7 +62,7 @@ const 是否成功 = $悬浮窗.切换到日志模式();
|
|
|
60
62
|
function 切换到保活模式(): 布尔值;
|
|
61
63
|
```
|
|
62
64
|
|
|
63
|
-
切换到保活模式并尝试显示极小高度悬浮窗。首次显示悬浮窗时 App
|
|
65
|
+
切换到保活模式并尝试显示极小高度悬浮窗。首次显示悬浮窗时 App 必须在前台。保活模式不接受脚本尺寸设置。
|
|
64
66
|
|
|
65
67
|
**返回值:**
|
|
66
68
|
|
|
@@ -75,13 +77,13 @@ $APP切入前台();
|
|
|
75
77
|
const 是否成功 = $悬浮窗.切换到保活模式();
|
|
76
78
|
```
|
|
77
79
|
|
|
78
|
-
###
|
|
80
|
+
### 切换到自定义模式
|
|
79
81
|
|
|
80
82
|
```typescript
|
|
81
|
-
function
|
|
83
|
+
function 切换到自定义模式(): 布尔值;
|
|
82
84
|
```
|
|
83
85
|
|
|
84
|
-
|
|
86
|
+
切换到自定义模式并显示脚本设置的自定义文本。首次显示悬浮窗时 App 必须在前台。自定义模式会恢复最近一次保存的自定义窗口尺寸。
|
|
85
87
|
|
|
86
88
|
**返回值:**
|
|
87
89
|
|
|
@@ -92,22 +94,195 @@ function 切换到关闭模式(): 布尔值;
|
|
|
92
94
|
**示例:**
|
|
93
95
|
|
|
94
96
|
```typescript
|
|
95
|
-
|
|
97
|
+
$APP切入前台();
|
|
98
|
+
$悬浮窗.切换到自定义模式();
|
|
99
|
+
$悬浮窗.设置自定义文本("运行中\n进度 1/3");
|
|
100
|
+
$悬浮窗.设置自定义文字颜色("#34c759");
|
|
101
|
+
$悬浮窗.设置自定义文字大小(18);
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### 关闭悬浮窗
|
|
105
|
+
|
|
106
|
+
```typescript
|
|
107
|
+
function 关闭悬浮窗(): 布尔值;
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
关闭悬浮窗。
|
|
111
|
+
|
|
112
|
+
**返回值:**
|
|
113
|
+
|
|
114
|
+
| 类型 | 描述 |
|
|
115
|
+
| -------- | ---------------------- |
|
|
116
|
+
| `布尔值` | `true` 代表已提交请求 |
|
|
117
|
+
|
|
118
|
+
**示例:**
|
|
119
|
+
|
|
120
|
+
```typescript
|
|
121
|
+
const 是否成功 = $悬浮窗.关闭悬浮窗();
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### 设置内容尺寸
|
|
125
|
+
|
|
126
|
+
```typescript
|
|
127
|
+
function 设置内容尺寸(宽度: 数字, 高度: 数字): 布尔值;
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
设置日志模式或自定义模式的悬浮窗内容尺寸。宽度和高度都必须传入有效数字。日志模式和自定义模式会分别保存尺寸;悬浮窗关闭状态和保活模式不会生效。
|
|
131
|
+
|
|
132
|
+
**参数:**
|
|
133
|
+
|
|
134
|
+
| 参数 | 类型 | 必填 | 描述 |
|
|
135
|
+
| ------ | ------------- | ---- | ---------------------------------------------- |
|
|
136
|
+
| `宽度` | `数字` | 是 | 目标内容宽度 |
|
|
137
|
+
| `高度` | `数字` | 是 | 目标内容高度 |
|
|
138
|
+
|
|
139
|
+
**返回值:**
|
|
140
|
+
|
|
141
|
+
| 类型 | 描述 |
|
|
142
|
+
| -------- | -------------------------------------------------------------------- |
|
|
143
|
+
| `布尔值` | `true` 代表尺寸已提交;`false` 代表当前模式不允许设置或宽高无效 |
|
|
144
|
+
|
|
145
|
+
**示例:**
|
|
146
|
+
|
|
147
|
+
```typescript
|
|
148
|
+
$悬浮窗.切换到日志模式();
|
|
149
|
+
$悬浮窗.设置内容尺寸(280, 120);
|
|
150
|
+
|
|
151
|
+
$悬浮窗.切换到自定义模式();
|
|
152
|
+
$悬浮窗.设置内容尺寸(120, 180);
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### 设置自定义文本
|
|
156
|
+
|
|
157
|
+
```typescript
|
|
158
|
+
function 设置自定义文本(文本: 字符串): 布尔值;
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
设置自定义模式显示的纯文本内容。该方法只更新自定义文本数据,不会自动切换到自定义模式。
|
|
162
|
+
|
|
163
|
+
**参数:**
|
|
164
|
+
|
|
165
|
+
| 参数 | 类型 | 必填 | 描述 |
|
|
166
|
+
| ------ | -------- | ---- | ------------------------------------------- |
|
|
167
|
+
| `文本` | `字符串` | 是 | 要显示的文本,支持真实换行和字符串中的 `\n` |
|
|
168
|
+
|
|
169
|
+
**返回值:**
|
|
170
|
+
|
|
171
|
+
| 类型 | 描述 |
|
|
172
|
+
| -------- | ---------------------- |
|
|
173
|
+
| `布尔值` | `true` 代表文本已提交 |
|
|
174
|
+
|
|
175
|
+
**示例:**
|
|
176
|
+
|
|
177
|
+
```typescript
|
|
178
|
+
$悬浮窗.设置自定义文本("运行中\n进度 1/3");
|
|
179
|
+
$悬浮窗.切换到自定义模式();
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### 设置自定义文字颜色
|
|
183
|
+
|
|
184
|
+
```typescript
|
|
185
|
+
function 设置自定义文字颜色(颜色: 字符串): 布尔值;
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
设置自定义模式显示文本的文字颜色。该方法只更新文字颜色数据,不会自动切换到自定义模式。
|
|
189
|
+
|
|
190
|
+
**参数:**
|
|
191
|
+
|
|
192
|
+
| 参数 | 类型 | 必填 | 描述 |
|
|
193
|
+
| ------ | -------- | ---- | ----------------------------------------------------------- |
|
|
194
|
+
| `颜色` | `字符串` | 是 | 文字颜色,支持 `RRGGBB`、`RRGGBBAA`,可带 `#` 前缀;末尾 AA 为透明度;无效值使用白色 |
|
|
195
|
+
|
|
196
|
+
**返回值:**
|
|
197
|
+
|
|
198
|
+
| 类型 | 描述 |
|
|
199
|
+
| -------- | -------------------------- |
|
|
200
|
+
| `布尔值` | `true` 代表文字颜色已提交 |
|
|
201
|
+
|
|
202
|
+
**示例:**
|
|
203
|
+
|
|
204
|
+
```typescript
|
|
205
|
+
$悬浮窗.设置自定义文字颜色("#34c759");
|
|
206
|
+
$悬浮窗.切换到自定义模式();
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### 设置自定义文字大小
|
|
210
|
+
|
|
211
|
+
```typescript
|
|
212
|
+
function 设置自定义文字大小(字号: 数字): 布尔值;
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
设置自定义模式显示文本的文字大小。该方法只更新文字大小数据,不会自动切换到自定义模式。
|
|
216
|
+
|
|
217
|
+
**参数:**
|
|
218
|
+
|
|
219
|
+
| 参数 | 类型 | 必填 | 描述 |
|
|
220
|
+
| ------ | ------ | ---- | ------------------------ |
|
|
221
|
+
| `字号` | `数字` | 是 | 文字字号,必须是有效数字 |
|
|
222
|
+
|
|
223
|
+
**返回值:**
|
|
224
|
+
|
|
225
|
+
| 类型 | 描述 |
|
|
226
|
+
| -------- | ---------------------------------------------------- |
|
|
227
|
+
| `布尔值` | `true` 代表文字大小已提交;`false` 代表字号无效 |
|
|
228
|
+
|
|
229
|
+
**示例:**
|
|
230
|
+
|
|
231
|
+
```typescript
|
|
232
|
+
$悬浮窗.设置自定义文字大小(18);
|
|
233
|
+
$悬浮窗.切换到自定义模式();
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
### 设置自定义背景色
|
|
237
|
+
|
|
238
|
+
```typescript
|
|
239
|
+
function 设置自定义背景色(颜色: 字符串): 布尔值;
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
设置自定义模式显示区域的背景色。该方法只更新背景色数据,不会自动切换到自定义模式。
|
|
243
|
+
|
|
244
|
+
**参数:**
|
|
245
|
+
|
|
246
|
+
| 参数 | 类型 | 必填 | 描述 |
|
|
247
|
+
| ------ | -------- | ---- | ----------------------------------------------------------- |
|
|
248
|
+
| `颜色` | `字符串` | 是 | 背景颜色,支持 `RRGGBB`、`RRGGBBAA`,可带 `#` 前缀;末尾 AA 为透明度;无效值使用黑色 |
|
|
249
|
+
|
|
250
|
+
**返回值:**
|
|
251
|
+
|
|
252
|
+
| 类型 | 描述 |
|
|
253
|
+
| -------- | ------------------------ |
|
|
254
|
+
| `布尔值` | `true` 代表背景色已提交 |
|
|
255
|
+
|
|
256
|
+
**示例:**
|
|
257
|
+
|
|
258
|
+
```typescript
|
|
259
|
+
$悬浮窗.设置自定义背景色("#111111");
|
|
260
|
+
$悬浮窗.切换到自定义模式();
|
|
96
261
|
```
|
|
97
262
|
|
|
98
263
|
## 完整使用示例
|
|
99
264
|
|
|
100
265
|
```typescript
|
|
101
266
|
$APP切入前台();
|
|
267
|
+
|
|
102
268
|
$悬浮窗.切换到日志模式();
|
|
269
|
+
$悬浮窗.设置内容尺寸(280, 120);
|
|
270
|
+
|
|
271
|
+
$悬浮窗.设置自定义文本("任务运行中\n1/3");
|
|
272
|
+
$悬浮窗.设置自定义文字颜色("#34c759");
|
|
273
|
+
$悬浮窗.设置自定义文字大小(18);
|
|
274
|
+
$悬浮窗.设置自定义背景色("#111111");
|
|
275
|
+
$悬浮窗.切换到自定义模式();
|
|
276
|
+
$悬浮窗.设置内容尺寸(120, 180);
|
|
103
277
|
```
|
|
104
278
|
|
|
105
279
|
## 注意事项
|
|
106
280
|
|
|
107
|
-
1.
|
|
281
|
+
1. **前台限制**:首次切换到日志、保活或自定义显示模式并启动悬浮窗时,App 必须在前台;悬浮窗已启动后可以继续切换显示模式或关闭悬浮窗
|
|
108
282
|
2. **设备兼容性**:仅支持 iOS 15+ 且具备画中画功能的设备
|
|
109
283
|
3. **系统限制**:悬浮窗位置和实际显示尺寸由 iOS 管理
|
|
110
|
-
4.
|
|
284
|
+
4. **尺寸持久化**:日志模式和自定义模式分别保存尺寸,互不共用;保活模式不接受脚本尺寸
|
|
285
|
+
5. **竖向文本**:自定义窗口高度大于宽度时,文本会按逐字符换行方式竖向显示
|
|
111
286
|
|
|
112
287
|
## 故障排除
|
|
113
288
|
|
|
@@ -116,3 +291,8 @@ $悬浮窗.切换到日志模式();
|
|
|
116
291
|
- 确认设备支持悬浮窗功能
|
|
117
292
|
- 检查悬浮窗权限是否已开启
|
|
118
293
|
- 确认应用当前在前台
|
|
294
|
+
|
|
295
|
+
### 设置内容尺寸返回 false
|
|
296
|
+
|
|
297
|
+
- 确认当前模式是日志模式或自定义模式
|
|
298
|
+
- 确认宽度和高度都传入了有效数字
|
|
@@ -227,7 +227,7 @@ if abs_number_results:
|
|
|
227
227
|
|
|
228
228
|
#### findText
|
|
229
229
|
|
|
230
|
-
|
|
230
|
+
执行指定文本查找,在识别结果中查找目标子串,并返回目标子串的坐标。
|
|
231
231
|
|
|
232
232
|
```python
|
|
233
233
|
def findText(
|
|
@@ -237,7 +237,8 @@ def findText(
|
|
|
237
237
|
y: int = 0,
|
|
238
238
|
ex: int = 0,
|
|
239
239
|
ey: int = 0,
|
|
240
|
-
languages: Optional[List[str]] = ["zh-Hans", "en-US"]
|
|
240
|
+
languages: Optional[List[str]] = ["zh-Hans", "en-US"],
|
|
241
|
+
exactMatch: bool = False
|
|
241
242
|
) -> List[OCRResult]
|
|
242
243
|
```
|
|
243
244
|
|
|
@@ -246,26 +247,29 @@ def findText(
|
|
|
246
247
|
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
247
248
|
| ----------- | --------- | -------- | -------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
|
|
248
249
|
| `input` | str | 是 | - | 输入源,支持以下类型: <br>-`"screen"` 当前屏幕截图 <br>- `str` 图片文件路径或 URL <br>- `imageId` 图片 ID(通过 image 模块获取) |
|
|
249
|
-
| `texts` | List[str] | 是 | - |
|
|
250
|
+
| `texts` | List[str] | 是 | - | 要查找的目标文本数组,支持匹配识别结果中的子串 |
|
|
250
251
|
| `x` | int | 否 | 0 | 识别区域左上角 x 坐标 |
|
|
251
252
|
| `y` | int | 否 | 0 | 识别区域左上角 y 坐标 |
|
|
252
253
|
| `ex` | int | 否 | 0 | 识别区域右下角 x 坐标 |
|
|
253
254
|
| `ey` | int | 否 | 0 | 识别区域右下角 y 坐标 |
|
|
254
255
|
| `languages` | List[str] | 否 | ["zh-Hans", "en-US"] | 可选,指定识别语言列表,如 `["zh-Hans", "en-US"]` |
|
|
256
|
+
| `exactMatch` | bool | 否 | False | 是否完整匹配;`False` 表示包含匹配,`True` 表示整条 OCR 识别结果文本必须等于目标文本 |
|
|
255
257
|
|
|
256
258
|
**返回值:**
|
|
257
259
|
|
|
258
260
|
| 类型 | 描述 |
|
|
259
261
|
| ----------------- | ---------------------- |
|
|
260
|
-
| `List[OCRResult]` |
|
|
262
|
+
| `List[OCRResult]` | 命中子串的文本识别结果数组 |
|
|
261
263
|
|
|
262
264
|
**使用示例:**
|
|
263
265
|
|
|
264
266
|
```python
|
|
265
267
|
from kuaijs import appleocr
|
|
266
268
|
|
|
267
|
-
#
|
|
268
|
-
text_results = appleocr.findText("screen", ["
|
|
269
|
+
# 在“开始执行”中查找“开始”,返回“开始”子串区域
|
|
270
|
+
text_results = appleocr.findText("screen", ["开始"], 0, 0, 100, 100)
|
|
271
|
+
# 启用完整匹配时,只有整条 OCR 识别结果文本等于“开始”才返回结果
|
|
272
|
+
exact_results = appleocr.findText("screen", ["开始"], 0, 0, 100, 100, None, True)
|
|
269
273
|
print(f"识别到 {len(text_results)} 个文本区域")
|
|
270
274
|
|
|
271
275
|
for i, result in enumerate(text_results):
|
|
@@ -274,7 +278,7 @@ for i, result in enumerate(text_results):
|
|
|
274
278
|
print(f"中心点: ({result.centerX}, {result.centerY})")
|
|
275
279
|
```
|
|
276
280
|
|
|
277
|
-
#### `findTextAbs` -
|
|
281
|
+
#### `findTextAbs` - 查找目标子串,并将子串结果坐标映射为原图/全屏绝对坐标
|
|
278
282
|
|
|
279
283
|
参数与 `findText` 相同。传入裁剪区域时,返回坐标可直接用于全屏点击。
|
|
280
284
|
|
|
@@ -286,7 +290,8 @@ def findTextAbs(
|
|
|
286
290
|
y: int = 0,
|
|
287
291
|
ex: int = 0,
|
|
288
292
|
ey: int = 0,
|
|
289
|
-
languages: Optional[List[str]] = None
|
|
293
|
+
languages: Optional[List[str]] = None,
|
|
294
|
+
exactMatch: bool = False
|
|
290
295
|
) -> List[OCRResult]
|
|
291
296
|
```
|
|
292
297
|
|
|
@@ -295,7 +300,7 @@ def findTextAbs(
|
|
|
295
300
|
```python
|
|
296
301
|
from kuaijs import appleocr, action
|
|
297
302
|
|
|
298
|
-
abs_hits = appleocr.findTextAbs("screen", ["
|
|
303
|
+
abs_hits = appleocr.findTextAbs("screen", ["开始"], 100, 100, 500, 400)
|
|
299
304
|
if abs_hits:
|
|
300
305
|
action.click(abs_hits[0]["centerX"], abs_hits[0]["centerY"])
|
|
301
306
|
```
|
package/docs/apipython/image.md
CHANGED
|
@@ -431,6 +431,51 @@ if imageId:
|
|
|
431
431
|
image.release(imageId)
|
|
432
432
|
```
|
|
433
433
|
|
|
434
|
+
### countColor - 统计颜色数量
|
|
435
|
+
|
|
436
|
+
统计指定区域内命中目标颜色的像素数量。`colors` 可以传入一个或多个候选颜色,多个颜色使用 `|` 分隔,支持 `主色-偏色` 格式,如 `#0A0A0A-#101010|#FFFFFF-#101010`。同一个像素同时命中多个候选颜色时只统计一次。
|
|
437
|
+
|
|
438
|
+
```python
|
|
439
|
+
def countColor(id: str, colors: str, threshold: float, x: int, y: int, ex: int, ey: int) -> int
|
|
440
|
+
```
|
|
441
|
+
|
|
442
|
+
**参数:**
|
|
443
|
+
|
|
444
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
445
|
+
| ----------- | ----- | -------- | ------ | ------------------------------------------------------------------------------------ |
|
|
446
|
+
| `id` | str | 是 | <br /> | 图片 ID,支持 `"screen"`、图片文件路径、HTTP 图片地址或已加载的图片 ID |
|
|
447
|
+
| `colors` | str | 是 | <br /> | 颜色列表,支持 `主色-偏色\|主色-偏色` 格式,如 `#0A0A0A-#101010\|#FFFFFF-#101010` |
|
|
448
|
+
| `threshold` | float | 是 | <br /> | 颜色匹配阈值 (0.0-1.0),数值越大匹配越严格 |
|
|
449
|
+
| `x,y` | int | 是 | <br /> | 统计区域左上角坐标 |
|
|
450
|
+
| `ex,ey` | int | 是 | <br /> | 统计区域右下角坐标;传 `0` 表示延伸到图片右侧或底部边界 |
|
|
451
|
+
|
|
452
|
+
**返回值:**
|
|
453
|
+
|
|
454
|
+
| 类型 | 描述 |
|
|
455
|
+
| ----- | ------------------------------------------------------------------------------------ |
|
|
456
|
+
| `int` | 命中目标颜色的像素数量;图片加载失败、颜色为空、颜色格式无效或区域不合法时返回 `0` |
|
|
457
|
+
|
|
458
|
+
**示例:**
|
|
459
|
+
|
|
460
|
+
```python
|
|
461
|
+
from kuaijs import image
|
|
462
|
+
|
|
463
|
+
imageId = image.captureFullScreen()
|
|
464
|
+
if imageId:
|
|
465
|
+
count = image.countColor(
|
|
466
|
+
imageId,
|
|
467
|
+
"#0A0A0A-#101010|#FFFFFF-#101010",
|
|
468
|
+
0.92,
|
|
469
|
+
100,
|
|
470
|
+
200,
|
|
471
|
+
500,
|
|
472
|
+
700
|
|
473
|
+
)
|
|
474
|
+
|
|
475
|
+
print(f"目标区域命中颜色像素数量: {count}")
|
|
476
|
+
image.release(imageId)
|
|
477
|
+
```
|
|
478
|
+
|
|
434
479
|
### cmpColor - 多点比色
|
|
435
480
|
|
|
436
481
|
```python
|
|
@@ -172,7 +172,8 @@ def findText(
|
|
|
172
172
|
y: int = 0,
|
|
173
173
|
ex: int = 0,
|
|
174
174
|
ey: int = 0,
|
|
175
|
-
confidenceThreshold: float = 0.6
|
|
175
|
+
confidenceThreshold: float = 0.6,
|
|
176
|
+
exactMatch: bool = False
|
|
176
177
|
) -> List[OCRResult]
|
|
177
178
|
```
|
|
178
179
|
|
|
@@ -187,6 +188,7 @@ def findText(
|
|
|
187
188
|
| `ex` | int | 否 | 0 | 查找区域右下角 x 坐标 |
|
|
188
189
|
| `ey` | int | 否 | 0 | 查找区域右下角 y 坐标 |
|
|
189
190
|
| `confidenceThreshold` | float | 否 | 0.6 | 置信度阈值,默认值为 0.6 |
|
|
191
|
+
| `exactMatch` | bool | 否 | False | 是否完整匹配;`False` 表示包含匹配,`True` 表示整条 OCR 识别结果文本必须等于目标文本 |
|
|
190
192
|
|
|
191
193
|
**返回值:**
|
|
192
194
|
|
|
@@ -204,7 +206,7 @@ if not paddleocr.loadV5():
|
|
|
204
206
|
print("模型加载失败")
|
|
205
207
|
else:
|
|
206
208
|
# 在整个屏幕中查找目标文本
|
|
207
|
-
hit_results = paddleocr.findText("screen", ["登录", "确定"], 0, 0, 0, 0, 0.6)
|
|
209
|
+
hit_results = paddleocr.findText("screen", ["登录", "确定"], 0, 0, 0, 0, 0.6, False)
|
|
208
210
|
if hit_results:
|
|
209
211
|
for i, r in enumerate(hit_results, 1):
|
|
210
212
|
print(f"命中{i}: {r.text}, 中心点=({r.centerX}, {r.centerY}), 置信度={r.confidence}")
|
|
@@ -228,14 +230,15 @@ def findTextAbs(
|
|
|
228
230
|
y: int = 0,
|
|
229
231
|
ex: int = 0,
|
|
230
232
|
ey: int = 0,
|
|
231
|
-
confidenceThreshold: float = 0.6
|
|
233
|
+
confidenceThreshold: float = 0.6,
|
|
234
|
+
exactMatch: bool = False
|
|
232
235
|
) -> List[OCRResult]
|
|
233
236
|
```
|
|
234
237
|
|
|
235
238
|
**示例:**
|
|
236
239
|
|
|
237
240
|
```python
|
|
238
|
-
abs_hits = paddleocr.findTextAbs("screen", ["确定"], 100, 100, 500, 400, 0.6)
|
|
241
|
+
abs_hits = paddleocr.findTextAbs("screen", ["确定"], 100, 100, 500, 400, 0.6, False)
|
|
239
242
|
if abs_hits:
|
|
240
243
|
print(f"绝对坐标中心点: ({abs_hits[0].centerX}, {abs_hits[0].centerY})")
|
|
241
244
|
```
|