在不了解YOLOv5内部执行原理的前提下,想要在Django框架中调用YOLOv5,因为Django框架中的Views中允许调用自己编写的函数,利用OS库的os.popen构建cmd命令,调用Python终端进行执行。
再利用readlines获取输出的结果,其返回值为列表,为了方便获取想要的人数信息,先转为str再利用re正则表达式匹配人数前的数字。
我是利用yolo识别的图片中的人数,参数url是图片的文件路径,推荐使用绝对路径。想识别其他类别可以在cmd中修改–classes 后的参数,具体类别请参考YOLOv5官方文档。
之后直接在views中调用自己封装好的函数即可。
def getperson(url:str) -> int:
'''
处理图片
:param url:图片地址
:return: 图片中的人数
''