垃圾检测代码
垃圾检测指的是在地面上,找到肉眼可见的小物体。效果如下图所示。光源干扰问题还没彻底解决,不过不是重点。
![垃圾检测效果图](https://i-blog.csdnimg.cn/blog_migrate/c959dadd006e6017318903d7ed152ac3.png)
主要用到的是openCV中的SimpleBlobDetector_Params(),代码很简单,课程结束后贴上~
配置树莓派环境中出现的问题
主要参考(树莓派、linux通用)OpenCV3源码方式安装教程(最新3.4.1)这篇文章,很详细,帮助很大。
出现的问题
- 安装速度较慢,需要更换源:中科大源使用指导
1.编辑/etc/apt/sources.list文件。注释原文件所有内容,用以下内容取代:
deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ jessie main non-free contrib
deb-src http://mirrors.ustc.edu.cn/raspbian/raspbian/ jessie main non-free contrib
2.最后
sudo apt-get update
建议安装vim修改文件较为方便
- 编译openCV
在依赖文件安装完成后,进行源码编译。openCV源码编译需要5小时以上,且经常因为发热问题自动重启(装了散热片也不行,摊手)。我用了偷懒的办法,改装python-opencv,很棒棒。如果python-opencv安装后程序用不了,还是得源码编译。
sudo apt-get install python-opencv
检验opencv是否可用,编写以下代码,若不报错,成功!
import cv2
不过,散热问题可以用风扇解决,如下图。风扇管脚需要插在指定的位置,不然风力会有问题(血的教训)。这玩意声音还是蛮大的,风力也强劲。
![风扇](https://i-blog.csdnimg.cn/blog_migrate/2326a533add2eff0d4516a49bc571556.png)
管脚如下图,具体可以咨询购买的商家~
![风扇管脚](https://i-blog.csdnimg.cn/blog_migrate/291bfd4605e23222bb2b1fb8df2a8b2a.png)
接下来就可以愉快的写代码了~
使用opencv
#捕捉视频
import cv2
import numpy as np
cap = cv2.VideoCapture(0)
while(1):
# get a frame
ret, frame = cap.read()
# show a frame
cv2.imshow("capture", frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
程序出错:Window system doesn’t support OpenGL. 原因是缺少了几个库。
sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev libgl1-mesa-swx11
其他注意点
- 安装WinSCP用于文件传输
- 配置开机启动项 【教程】树莓派程序开机自启动方法总结