树莓派+openCV物联网工程(一)
OpenCV配合树莓派Rasperry Pi,通过读取PiCamera视频,进行人脸识别、边缘检测、语义分割、自动驾驶、图像识别等各种计算机视觉开发。
谷歌人工智能框架Tensorflow和人脸识别开源项目face_recognition,都需要安装OpenCV。
树莓派图像处理部分使用的开源计算机视觉环境 OpenCV
1.0OpenCV
OpenCV是开源计算机视觉库(Open Source Computer Vision Library)是一个开源BSD库,该库包括数百个机器视觉算法。
- core -一个定义基本数据结构的模块,包括多维数组和其它模块使用的核心函数
- imgproc-图像处理模块,包括线性非线性滤波,几何图像变化(尺寸变换、仿射、透视、基于表的映射),图像域卷积,直方图等
- video-视频分析模块,包括运动检测,背景移除,目标跟踪。
- calib3d-多视图几何算法,一维和三维相机jiaozheng2,目标位置估计,立体匹配算法,三维重构。
- features2d - 特征检测和描述匹配
- objdetect -类(如人脸、眼睛、人、车等)的检测
- highgui-视频抓取、图像以及视频编码接口
- gpu- GPU对OpenCV不同模块算法的加速
- ...一些帮助性模块,如FLANN和谷歌测试封装,Python等
图像处理(Image Processing)是用计算机对图像进行分析,以达到所需结果的技术。图像处理技术一般包括图像压缩,增强和复原,匹配、描述和识别3个部分。数字图像处理(Digital Image Processing)是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。数字图像是指用工业相机、摄像机、扫描仪等设备经过拍摄得到的一个大的二维数组,该数组的元素称为像素,其值称为灰度值。
计算机视觉(Computer Vision)是指用摄像机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使之成为更适合人眼观察或仪器检测图像的一门学科。
1.1Rasperry Pi
1.2配置树莓派的操作系统Raspbian
raspi-config参数设置
$sudo raspi-config
中字下载
sudo apt-get update
sudo apt-get install ttf-wqy-zenhei ttf-wqy-microhei
1.3 树莓派 vim
树莓派自带的 vim 不是很好用,比如默认不支持小键盘及方向键等,我们可以更新一下
sudo apt-get install vim
1.4树莓派网络设置
使用 vi 打开以下文件进行修改:
auto lo
iface lo inet loopback
iface eth0 inet dhcp
auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-ssid "j123456"
wpa-psk "hellworld"
#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
1.5配置树莓派官方的摄像头Picamera
2Rasperry Pi+OpenCV
2.1python上安装OpenCV
在Python2上的安装OpenCV非常简单,几行命令即可搞定。在Python3上的OpenCV安装比较麻烦,需要编译安装。
sudo apt-get install libopencv-dev
sudo apt-get install python-opencv
Python环境下测试OpenCV运行情况
import cv2
cv2版本号
cv2.__version__
2.2调用树莓派摄像头,把画面显示在桌面上
git clone https://github.com/TommyZihao/opencvtest.git
cd opencvtest
python2 testopencv.py
open camera
VideoCapture cap(0); //capture the video from web cam
if ( !cap.isOpened() ) // if not success, exit program
{
cout << "Cannot open the cam" << endl;
return -1;
}
打不开:重启(reboot)
待续