章丘灵通环保设备在哪个网站上做的,网站开发的架构,建设人力资源网官网,公司建网站多少钱一年实现原理#xff1a;安卓adb截图传到电脑#xff0c;然后用python裁剪获得两张数字图片#xff0c;使用ddddocr识别数字#xff0c;比较大小#xff0c;再用adb命令模拟安卓手势实现
import os
import ddddocr
from time import sleep
from PIL import Imagedef …实现原理安卓adb截图传到电脑然后用python裁剪获得两张数字图片使用ddddocr识别数字比较大小再用adb命令模拟安卓手势实现
import os
import ddddocr
from time import sleep
from PIL import Imagedef take_screenshot(path):从设备截取屏幕并保存到指定路径。os.system(fadb shell screencap -p {path})# 读取截取的屏幕截图并替换行结束符with open(path, rb) as f:return f.read().replace(b\r\n, b\n)def process_image(image_path, crop_area):打开图片裁剪并返回裁剪后的图片。with Image.open(image_path) as img:return img.crop(crop_area)def extract_text(img):提取图片中的文本。with open(img, rb) as f:img_bytes f.read()res ocr.classification(img_bytes)return res.replace( , ).replace(\n, )def compare_numbers(x, y):比较两个数字并相应地执行滑动操作。try:x_int, y_int int(x), int(y)if x_int y_int:print(f{x} {y})os.system(adb shell input swipe 450 1800 850 1900 1)os.system(adb shell input swipe 850 1900 450 2000 1)else:print(f{x} {y})os.system(adb shell input swipe 850 1800 450 1900 1)os.system(adb shell input swipe 450 1900 850 2000 1)except ValueError:print(数字格式无效。)def main():主程序逻辑。screenshot_path screenshot.png# 截取屏幕并保存screenshot take_screenshot(screenshot_path)with open(screenshot_path, wb) as f:f.write(screenshot)# 定义裁剪区域左上右下分别是两个数字在图片中的区域坐标crop_areas [(330, 720, 530, 880),(730, 720, 930, 880)]cropped_images []for i, crop_area in enumerate(crop_areas, start1):cropped_image process_image(screenshot_path, crop_area)cropped_image_path fscreenshot{i}.pngcropped_image.save(cropped_image_path)cropped_images.append(cropped_image_path)# 从裁剪后的图片中提取文本texts [extract_text(image) for image in cropped_images]# 比较提取的数字compare_numbers(texts[0], texts[1])if __name__ __main__:ocr ddddocr.DdddOcr(show_adFalse)while True:main()sleep(0.2)