在香蕉M3上安装完整版的opencv向后折腾了2个月,遇到的问题的是编译opencv源码的时候需要依赖FFMPEG可是在M3上总是不能安装成功,这样就造成无法再M3上编译源码,编译的是opencv是2.4.X版本。有人可能会问
这样不是很简单就可以安装opencv吗?这种方法是是别人已经编译好的opencv的库,这样就不需要编译,直接安装就是,但是这种方式安装的opencv缺失了一些库,比如tracking跟踪和分类器相关的库,这样很多强大的算法就不能使用。比如经典的opencv 人脸检测算法就是用了分类器的算法。
曾经我在工作中的一些项目使用到了opencv的分类器的算法,当然那些都是PC版本的。像香蕉派M3这么强大的板子如果能运行完整版的OPENCV库,那么我编译出来的那些分类器就可以运行在这个板子上,这样整个项目的成本将降低非常的多,功耗也能大量的降低。opencv2.4.x失败那我开始尝试安装opencv3.1.0,折腾终于了几天成功了:
- sudo apt-get update
- sudo apt-get upgrade
- sudo apt-get install guvcview
- sudo apt-get install synaptic
- sudo apt-get install python-dev
复制代码
- sudo apt-get install python-numpy python-scipy python-matplotlib python-pandas python-nose
复制代码- sudo apt-get install build-essential cmake pkg-config
- sudo apt-get install default-jdk ant
- sudo apt-get install libgtkglext1-dev
- sudo apt-get install bison
- sudo qt4-dev-tools libqt4-dev libqt4-core libqt4-gui
- sudo apt-get install v4l-utils
- sudo apt-get install qtcreator
复制代码
下载opencv3.1.0:
- sudo wget [url=http://liquidtelecom.dl.sourceforge.net/project/opencvlibrary/opencv-unix/3.1.0/opencv-3.1.0.zip]http://liquidtelecom.dl.sourcefo ... .0/opencv-3.1.0.zip[/url]
复制代码
解压源码,建立编译文件夹:
- sudo unzip opencv-3.1.0.zip
- cd opencv-3.1.0
- sudo mkdir build
- cd build
复制代码
cmake配置:
- sudo cmake -D
- CMAKE_BUILD_TYPE=RELEASE -D INSTALL_C_EXAMPLES=ON –D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_OPENGL=ON -D WITH_V4L=ON –D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_TBB=ON ..
复制代码
开始编译:
M3是8核的,所以我make的时候-j6,6核编译,这个编译的过程非常的漫长,晚上编译,第二天早上看到编译成功了
安装编译成功的库:这个安装的时间也需要几分钟
配置opencv:
- sudo vim /etc/ld.so.conf.d/opencv.conf
复制代码
使用vim创建一个名称为opencv.conf的文件,内容填入为:
保存退出后输入:
到这一步如果都顺利的话,恭喜你opencv3.1.0安装成功了,开始测试安装好的opencv库是否可以用了。
是用源码自带的人脸检测例程:
- cd opencv-3.1.0/samples/cpp
复制代码
编译:
- g++ -o facedetect facedetect.cpp `pkg-config opencv --cflags --libs`
复制代码
将UVC摄像头插入到板子执行程序:
可以看到画面了: