MCPcopy Create free account
hub / github.com/runhey/OnmyojiAutoScript / confirm_layer

Method confirm_layer

tasks/Secret/script_task.py:160–194  ·  view source on GitHub ↗

检查层数, 启用函数check_layer :param ocr_target: :param roi: :return:

(ocr_target: RuleOcr, roi=None)

Source from the content-addressed store, hash-verified

158 return None
159
160 def confirm_layer(ocr_target: RuleOcr, roi=None) -> int or None:
161 """
162 检查层数, 启用函数check_layer
163 :param ocr_target:
164 :param roi:
165 :return:
166 """
167 ocr_target.roi[0] = int(roi[0]) - 118
168 ocr_target.roi[1] = int(roi[1]) + 37
169 # print(f'检测到的未通过ROI: {roi}')
170 # print(f'检测到的勾玉数量ROI: {ocr_target.roi}')
171 jade_num = ocr_target.ocr(self.device.image)
172 if isinstance(jade_num, str):
173 logger.warning(f'OCR failed, try again {jade_num}')
174 return None
175 elif not isinstance(jade_num, int):
176 logger.warning(f'OCR failed, try again {jade_num}')
177 return None
178 if jade_num < 7:
179 # 第一个的时候可能是没有检测到
180 gold_number = self.O_SE_GOLD.ocr(self.device.image)
181 if isinstance(gold_number, int) and (gold_number == 10000 or gold_number == 18000):
182 logger.info(f'No find jade number, but find gold number {gold_number}')
183 return 1
184 return None
185 elif jade_num > 70:
186 logger.warning(f'OCR failed, try again {jade_num}')
187 return None
188 # 勾玉数量 = 层数 * 7
189 try:
190 lr = jade_num // 7
191 return lr
192 except TypeError:
193 logger.warning(f'OCR failed, try again {jade_num}')
194 return None
195
196
197 if screenshot:

Callers

nothing calls this directly

Calls 1

ocrMethod · 0.80

Tested by

no test coverage detected