開源ocr 識別手機截圖定位

冷光清坠落發表於2024-03-15
# coding: utf-8#
import uiautomator2 as u2
import time
from tqdm import tqdm
from loguru import logger
from cnocr import CnOcr


def calculate_centroid(points):
    if len(points) == 0:
        return None

    num_points = len(points)
    sum_x = sum(point[0] for point in points)
    sum_y = sum(point[1] for point in points)

    centroid_x = sum_x / num_points
    centroid_y = sum_y / num_points
    print(pos_format(centroid_x,centroid_y))
    return (centroid_x, centroid_y)


# Example usage
def pos_format(x,y):
    pos_w = "{:.4f}".format(x/width)
    pos_y = "{:.4f}".format(y/hight)
    return (pos_w,pos_y)


if __name__ == '__main__':
    d = u2.connect("5f83933a")
    image = d.screenshot()
    image.save("home.jpg")
    width = image.width
    hight  = image.height
    img_fp = 'home.jpg'
    ocr = CnOcr()  # 所有引數都使用預設值
    out = ocr.ocr(image)
    for line in out:
        print(f"{calculate_centroid(line['position'])} --- {line['text']} --- {line['score']}")
    print(out)

  

相關文章