测试截图设置

This commit is contained in:
zhbaor 2024-11-27 14:08:34 +08:00
parent 41b552eca1
commit 517b18efbc
19 changed files with 171 additions and 120 deletions

View file

@ -432,31 +432,36 @@ def test_email():
return "邮件发送成功!"
@app.route("/test-custom-screenshot")
@app.route("/test-screenshot")
@get_require_token
def test_custom_screenshot():
def test_screenshot():
import base64
import subprocess
import cv2
import numpy as np
from mower.utils.device.adb_client.session import Session
from mower.utils.device.device import Device
from mower.utils.image import img2bytes
from mower.utils.recognize import Recognizer
command = config.conf.custom_screenshot.command
start = time.time()
data = subprocess.check_output(
command,
shell=True,
creationflags=subprocess.CREATE_NO_WINDOW if __system__ == "windows" else 0,
)
data = np.frombuffer(data, np.uint8)
data = cv2.imdecode(data, cv2.IMREAD_COLOR)
elapsed = int((time.time() - start) * 1000)
_, data = cv2.imencode(".jpg", data, [int(cv2.IMWRITE_JPEG_QUALITY), 75])
data = base64.b64encode(data).decode("ascii")
return {"elapsed": elapsed, "screenshot": data}
interval = config.conf.screenshot_interval
config.conf.screenshot_interval = 0
try:
config.device = Device()
config.device.client.check_server_alive()
Session().connect()
if config.conf.screencap_strategy == "droidcast":
config.device.start_droidcast()
config.screenshot_avg = None
config.recog = Recognizer()
for _ in range(5):
config.recog.update()
img = config.recog.img
data = base64.b64encode(img2bytes(img)).decode("ascii")
elapsed = round(config.screenshot_avg)
result = {"success": True, "elapsed": elapsed, "screenshot": data}
except Exception:
result = {"success": False}
config.conf.screenshot_interval = interval
return result
@app.route("/check-skland")