此次是参见华为杯的项目总结,现只是初赛阶段的作品已经交了上去,等待结果看是否进入决赛。
此次竞赛项目中,本意是上深度学习去识别网球,去操控小车去拣取网球。
但是在中间的过程中,机械结构是最浪费时间和精力的。而且由于是放在树莓派这个最小系统去做的图像处理和网络数据传输。算法的复杂度偏高,导致有1-2秒的延迟。
多的不多说,上代码。(代码写得比较粗暴,后面会尝试多线程并发去解决之前的问题)
这是python的代码(还有C++的一套解决方案)
步骤是先读取摄像头的画面传进
img_processing(img)
中去做RGB到HSV的颜色空间转换,然后利用mask掩码和开闭运算去跟踪颜色并提取感兴趣区域(ROI)
将ROI传入
find(img)
中去寻找霍夫圆,得到圆心的像素点坐标和半径大小并返回到。
img_processing(img)
中在原图上绘制出圆,左边用来当参数去控制小车行走。
recv(img)
是将绘制后的图像发送到安卓客户端进行显示。
下面是各个函数的截图。(安卓客户端项目代码下次有空再做推送)
谢谢观看。
领取专属 10元无门槛券
私享最新 技术干货