• MMEdu离线版的使用:实现石头剪刀布图像分类的检测


    一、MMEdu离线版的使用

    1.双击XEdu v1.0.exe解压缩到某个盘,会是一个文件夹XEdu
    2.进入XEdu,双击运行“点我初始化.bat”,等待至运行结束命令提示符窗口自动关闭
    3.双击运行“jupyter编辑器.bat”,将会打开一个网页版jupyter,选择进入demo文件夹
    4.选择“MMEdu_cls_demo.py”可以看教程(前半部)
    5.或新建一个文件,放入以下三种中的一种对图像分类模块的使用
    6.运行

    二、对文件夹的介绍

    1.XEdu
    在这里插入图片描述
    2.XEdu里面的demo文件夹
    在这里插入图片描述
    img如果引用的是img=‘D:/XEdu/demo/testPic/testscissors01-01.png’,则是绝对路径
    img如果引用的是img=‘testrock01-02.png’,则是该文件同路径的图片。

    三、三种图像分类模块的使用

    hand_gray/latest.pth可以用hand_gray_continue/latest.pth或hand_gray_new/latest.pth替换

    1.普通

    ##导入图像分类模块
    from  MMEdu import MMClassification as cls
    ##实例化模型 LeNet一个轻量级卷积神经网络模型
    model=cls('LeNet')
    ##指定模型保存的路径
    #一般的编程语言中,反斜杠\一般理解为转义字符,所以在路径中需要用\\表示\
    #所以我们用/就好
    checkpoint='D:/XEdu/checkpoints/cls_model/hand_gray/latest.pth'#权重文件
    class_path='D:/XEdu/dataset/cls/hand_gray/classes.txt'#分类标签信息文件
    #checkpoint='../checkpoits/cls_model/hand_gray'
    #class_path='../dataset/cls/hand_gray/classes.txt'
    ##指定图片,开始推理
    img='D:/XEdu/demo/testPic/testscissors01-01.png'
    result=model.inference(image=img,show=True,class_path=class_path,checkpoint=checkpoint)
    model.print_result(result) #如[{'标签': 1, '置信度': 0.6409855484962463, '预测结果': 'rock'}]
    ##返回的数据类型是一个字典列表
    ##用字典访问其中的元素
    x=model.print_result(result)
    print('标签(序号)为:{}'.format(x[0]['标签']))
    classes=['布','石头','剪刀']
    print('识别结果为:{}'.format(classes[x[0]['标签']]))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    2.快速推理

    ##导入图像分类模块
    from  MMEdu import MMClassification as cls
    ####快速推理:先加载权重文件,再推理,可以大大加快推理的速度
    model=cls('LeNet')
    checkpoint='D:/XEdu/checkpoints/cls_model/hand_gray/latest.pth'#权重文件
    class_path='D:/XEdu/dataset/cls/hand_gray/classes.txt'#分类标签信息文件
    model.load_checkpoint(checkpoint=checkpoint,class_path=class_path)
    img='D:/XEdu/demo/testPic/testscissors01-01.png'
    #result=model.fast_inference(img)##不显示图像
    result=model.fast_inference(img,show=True)##显示图像
    model.print_result(result)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    3.拍照推理

    ##导入图像分类模块
    from  MMEdu import MMClassification as cls
    ####拍照推理
    import cv2
    camera=cv2.VideoCapture(0)
    ret,img=camera.read()
    camera.release()
    #result=model.fast_inference(img)##不显示图像
    result=model.fast_inference(img,show=True)##显示图像
    model.print_result(result)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
  • 相关阅读:
    c++【3】 常量、指针、指针变量、变量指针
    OSINT技术情报精选·2024年6月第2周
    mysql学习笔记1:mysql字符集和字符集编码
    读卡器串口协议
    对前端项目打包产物分析入库的好处
    如何优雅的删除Oracle数据库中的超大表
    IBM Semeru Windows 下的安装
    Aardio - 调用Python库下载蓝奏盘文件
    Mac电脑清理软件有哪些 MacBooster和CleanMyMac哪个好用 苹果电脑清理垃圾软件推荐 cleanmymac和柠檬清理
    亚马逊封买家账号的原因有哪些
  • 原文地址:https://blog.csdn.net/qq_31949641/article/details/128044375