宥马运动Crack之全自动Run

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

前言:

在Crack完成后愈发懒惰,想着能否实现全自动,而我只需输入三个旗子的坐标,以及Run Finished后距离不够询问是否还要再次输入一个经纬度来Run一段.

嗯~就是懒

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

思路:

使用百度地图路线规划提供的API返回的json数据,解析后得到经纬度坐标,通过计算App的Run时的五个参数,来确定每次修改定位的Sleep,至于修改定位用逍遥提供的命令即可

from requests import get
from os import system
from time import sleep
# 对百度地图提供的API发起请求,参数: Ak , 起点经纬度 , 终点经纬度
def Request(Start_Point, End_Point):
    RespOne = get(f'https://api.map.baidu.com/directionlite/v1/walking?origin={Start_Point}&destination={End_Point}&ak=SVTGvOGqoo7YgD7KOgsSfTVLIFGD6sc6')
    return RespOne.json(), RespOne.status_code   # 返回响应的json文件

#   对请求百度地图API步行路线规划返回的数据进行粗加工
def data_handle_rough_machining(RespOne_json):
    Request_status = list(RespOne_json.values())[0]     # 数据加工得到请求状态码,用于后续判断程序是否进行
    Request_result_duration_total = list(list(list(RespOne_json.values())[2].values())[2][0].values())[1]   # 数据加工得到路线规划总时间
    Request_result_distances_total = list(list(list(RespOne_json.values())[2].values())[2][0].values())[0]  # 数据加工得到路线规划总距离

    Request_result_routes_steps = list(list(list(RespOne_json.values())[2].values())[2][0].values())[2]  # 数据加工得到每段路线规划的数据

    return Request_status, Request_result_distances_total, Request_result_duration_total, Request_result_routes_steps   # 返回含有粗加工后数据的元组

# 对粗加工函数返回的每段路线规划的数据进行细加工
def data_handle_Fine_machining(Request_result_routes_steps):
    Step_Path = []
    for item in Request_result_routes_steps:    # 遍历含有每段路线规划数据(以字典在列表中每一项存在)的列表
        item = list(item.values())[4].split(';')    # 以';'为分割得到含有步行的每个经纬度
        Step_Path.append(item)  # 将每段步行路线添加到列表中 , 以后续遍历使用
    return Step_Path
def execute_command(Step_Path):
    for Outer in Step_Path:
        for Lnner in Outer:
            Lnner = Lnner.split(',')
            system(f'memuc setgps -i 2 {Lnner[1]} {Lnner[0]}')
            sleep(5)
def request_of_flags(flage_):
    global Start_Point, FlagOne_Point, FlagTwo_Point, FlagThree_Point
    Start_Point = ''
    FlagOne_Point = ''
    FlagTwo_Point = ''
    FlagThree_Point = ''
    if flage_ == 1:
        Start_Point = input('起点经纬度(小数点不超过六位)(如:40.01116,116.339303):>')
        FlagOne_point = input('第一旗经纬度(格式同上):>')
        Response_json_and_statucode = Request(Start_Point, FlagOne_point)
        return Response_json_and_statucode
    elif flage_ == 2:
        FlagTwo_Point = input('第二旗经纬度(格式同上):>')
        Response_json_and_statucode = Request(FlagOne_Point, FlagTwo_Point)
        return Response_json_and_statucode
    elif flage_ == 3:
        FlagThree_Point = input('第三旗经纬度(格式同上):>')
        Response_json_and_statucode = Request(FlagTwo_Point, FlagThree_Point)
        return Response_json_and_statucode

if __name__ == "__main__":
    for flage in range(1, 4):
        Response_json_and_statucode = request_of_flags(flage)
        if Response_json_and_statucode[1] == 200:
            Rough_Machined_Product_tuple = data_handle_rough_machining(Response_json_and_statucode[0])
            if Rough_Machined_Product_tuple[0] == 0:
                Fine_Machined_Product = data_handle_Fine_machining(Rough_Machined_Product_tuple[3])
                execute_command(Fine_Machined_Product)
            else:
                print('状态码异常')
                break
        else:
            print('百度地图API请求状态码异常')
            break

拙劣代码,还请见谅(因为是自用,所以一些大的Bug就没管),只要能用就行

Code 2022.3.25 记录

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
<h3>回答1:</h3><br/>Crack500公共数据集是一个专门用于检测和识别混凝土裂缝的数据集,包含了500张混凝土裂缝图像。这些图像来自不同的混凝土结构、不同的角度和光照条件,图像质量和噪声水平也各不相同。这种数据集对于混凝土结构的安全性和有效性至关重要。 Crack500公共数据集的使用范围包括混凝土结构检测、混凝土损伤分析和维护等方面。通过使用此数据集,可以开发出更加高精度、准确的混凝土裂缝检测算法和模型。通过深度学习等机器学习技术,可以对这些图像进行分析和处理,从而得到对混凝土结构的更加深入的理解和识别能力。 可以利用Crack500公共数据集在不同领域进行应用,比如建筑、交通和石油等领域。这个数据集是一个宝贵的资源,可以在科学研究、产品设计和工程应用等方面发挥重要作用。总之,Crack500公共数据集是混凝土裂缝检测领域的重要数据集之一,可以为混凝土结构的安全性和有效性提供有力的支持。 <h3>回答2:</h3><br/>Crack500是一个广泛使用的公共数据集,用于评估计算机视觉算法的性能。这个数据集包含了500张裂缝图像,这些图像分别来自于不同的来源,并且包含不同类型的裂缝。 Crack500数据集的优点是,它是适用于不同类型和大小的裂缝的,从微小的细长裂缝到大的深度贯通裂缝,它提供了丰富的材料供不同类型的研究使用。此外,Crack500数据集的图像经过了标准的注释和分类,这样就使得算法的性能评估更为准确。 在使用Crack500数据集进行研究时,我们可以使用不同的算法来实现裂缝检测和分类。例如,我们可以使用深度学习算法来对裂缝进行自动检测和分类,或者可以使用传统的图像处理算法来实现裂缝的检测和分类。在这个过程中,我们需要准备合适的训练集,对算法进行训练并测试其性能。 Crack500数据集的应用场景非常广泛,例如,它可以被用来评估建筑材料的强度和耐久性,也可以用于评估交通工具和水坝等重要设施的安全性能。此外,它也可以被用作为科学家们进行地质勘探和热点区域的评估提供重要参考。 总之,Crack500数据集是一个非常有用的公共数据集,它为裂缝检测和分类提供了重要的材料,为科学研究和工程设计提供了重要的帮助。未来,我们可以期待使用更先进的技术来对Crack500进行更为深入的研究,以便更好地了解裂缝的特性和性能。 <h3>回答3:</h3><br/>Crack500公共数据集是一个面向人工智能和机器学习领域的数据集,其主要目的是为了帮助研究者更好地进行裂缝检测和识别的研究工作。这个数据集中包含了500张石材表面的图像,这些图像中都含有不同大小、不同形状和不同角度的裂缝。 该数据集的提出主要是为了解决传统的裂缝检测方法存在的一些问题,例如难以适应不同类型的石材表面、无法进行有效的裂缝分类和缺乏足够的数据等。而Crack500数据集则通过多种技术手段获得了大量的裂缝图像数据,同时通过它提供的标注信息和评估指标,进一步激发了一系列相关研究的兴趣。 使用Crack500数据集进行研究的一个明显优势是,它可以显著提高研究的可靠性和有效性,同时可以使结果更具有普适性。这是由于该数据集包含了多种类型的石材表面图像,可以用于不同类型的裂缝检测算法和相关应用的训练和测试。另外,该数据集的标注信息也让研究者更加容易地进行用户需求分析和算法优化工作。 总之,Crack500公共数据集是一个非常有意义的数据集,它为机器学习和人工智能领域的研究和应用提供了重要支持,也推动了裂缝检测和识别技术的不断发展和进步。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王观天

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值