使用SSD网络模型进行Tensorflow物体检测?(V1.1摄像头检测)
1.模型的加载和utils库环境的配置?
1.准备好ssd_mobilenet_v1网络模型的frozen_inference_graph.pb和mscoco_label_map.pbtxt文件。(文中所涉及文件和代码均已上传,链接提取码:mztu)
2.配置好utils库文件以及pycache环境,将准备好的label_map_util.py和visualization_utils.py文件以及对应的label_map_util.cpython-36.pyc和visualization_utils.cpython-36.pyc复制粘贴到运行环境目录下。详细图示参考上一篇博客:使用SSD网络模型进行Tensorflow物体检测?v1.0
2.模型的导入和使用?
该部分内容代码的结构可参考上一篇博客内容:使用SSD网络模型进行Tensorflow物体检测?v1.0。需要修改的地方在对摄像头的读取和显示检测结果的代码实现部分。
1.拿到摄像头。
cap = cv2.VideoCapture(0)
2.修改session()的循环条件,并将实时检测的结果显示在屏幕上。
......(取出模型的网络层代码不变)
while True:
ret, image_np = cap.read()
......(中间喂数据的代码不变)
cv2.imshow('object detection', cv2.cvtColor(image_np, cv2.COLOR_RGB2BGR))#显示检测结果
if cv2.waitKey(25) & 0xFF == ord('q'):#按住"q"键,关闭摄像头。(然而实际测试中,我怎么按都没有反应。)
cap.release()
cv2.destroyAllWindows()
break