如何使用YOLOv5中detect.py的结果来制作一个简单的库存控制函数



我使用yolov5算法进行对象检测,这样我就可以使用检测结果将已识别的产品减少到现有库存中。

目前,我已经训练好了模块,它正在正确地检测对象,但我无法将detect.py中的变量导入到我具有库存控制功能的文件中。

我想知道如何获取必要的数据。

在股票控制函数中,我在后台运行detect.py,我不知道是否必须更改它,但下面是正在开发的函数的脚本,这可能有助于理解目标。

import subprocess
from detect import classes
HPSF = 300
NM = 300

def New_Scan():
cmd = "python detect.py --weights C:\Users\User\Desktop\PESTA\Scripts\runs\train\exp4\weights\best.pt --img 416 --conf 0.8 --source 0"
p = subprocess.Popen(cmd, shell= True)
if classes == 0:
HPSF = HPSF - 1
elif classes == 1:
NM = NM -1
def Check_Stock():
print("Halloween Pumpkin Spice Faces: ", HPSF)
print("Nestum Mel: ", NM)

def menu():
print("[1] New Product")
print("[2] Check Avaible Stock")
print("[0] Exit")

menu()
option= int(input("Enter option: "))
while option !=0:
if option == 1:
print("Scanning New Product")
New_Scan()
elif option == 2:
print("Avaible Stock")
Check_Stock()
else:
print("invalid option")
print()
menu()
option= int(input("Enter option: "))

出现的错误是:

出现异常:ImportError无法从"detect"(c:\Users\User\Desktop\PESTA\Scripts\detect.py(导入名称"classes">

首先,detect.py在运行时不返回任何变量。这意味着你需要修改这样一个文件来获得你想要的,在这种情况下,检测到的对象类别和边界框坐标。事实上,此选项将在实时检测中提供快速答案。否则,您可以将结果保存到txt文件中,并将其导入到代码中,但处理时间会更长。

最新更新