项目目的是做一个智能分类垃圾桶,摄像头拍一个物体,然后自动识别这个物体属于可回收垃圾、有害垃圾还是其他垃圾,接着控制舵机打开相对应的垃圾桶盖,其实还可以做厨余垃圾,但是因为缺少数据集的原因,就没有加入新的厨余垃圾数据集。
下面描述一下项目的整体流程:首先在电脑上部署yolov5的环境,我使用的是Anaconda+Pycharm,yolov5的代码使用的是github上提供的标准代码,但是为了契合我们的项目,我在detect.py文件中加了一些自己的代码,整体的yolov5代码我会附在整篇文章的最后,方便大家使用。
yolov5环境部署好之后,运行detect.py文件,这时摄像头会打开,自动弹出一个窗口,如下所示:
此时按下回车键就会自动拍摄一个照片保存到本地,然后按ESC键之后就会继续向下执行,我使用的是绝对路径,所以如果你想部署在你本地的话,还需要修改一下保存照片的路径,在detect.py文件中修改,具体如下:
output_dir = 'D:\yolov5'
i = 1
cap = cv2.VideoCapture(0)
while 1:
ret, frame = cap.read()
cv2.imshow('cap', frame)
flag = cv2.waitKey(1)
if flag == 13:
output_path = os.path.join(output_dir, "1.jpg")
cv2.imwrite(output_path, frame)
i += 1
if flag == 27:
break
把 output_dir = 'D:\yolov5' 修改掉就好。
上一步完成之后,yolov5会识别刚才拍的照片中的物体,然后识别出的物


3371

被折叠的 条评论
为什么被折叠?



