晴天做的OpenCV 镜像,基于BPI-M3 rasbian lite image

bpi m3 源码编译 opencv 3.1.0


也许是由于个人能力方面的原因,感觉在m3 ubuntu和debian系统上编译 opencv 比较困难,总是会遇到各种各样的错误,经过无数测试还是在raspbian-jessie上安装成功。我是一名ardupilot和pix无人机飞控开发者,我使用过树莓派、香蕉派和beaglebone,并且使用beaglebone开发了无人机飞控。由于m3的处理器性能非常强大,非常适合做图像处理,所以最近想用m3运行opencv和通过mavlink协议控制无人机飞行。实现地形成像、障碍物识别、目标识别跟踪等功能。

下面,我结合自动安装shell脚本,说一下opencv的安装过程。

<p>
</p><p>#!/bin/bash</p><p>
</p><p># bpi m3 setup script for use as companion computer</p><p>
</p><p># update m3 to latest versions</p>

由于bpi m3的emmc 只有8g 安装系统并编译opencv 空间不够,从emmc启动又不能使用tf卡,所以很是纠结。最后我选择了在tf卡上安装系统,emmc作为下载和编译储存空间。

<p>  sudo umount /dev/mmcblk1</p><p>  sudo mkfs -V  /dev/mmcblk1</p><p>  sudo mount /dev/mmcblk1 /home/pi/emmc</p><p></p>

删除wolfram-engine可以释放600MB的空间。

sudo apt-get purge wolfram-engine

树莓派源在国内更新慢的出奇,必须更换为国内镜像。修改etc/apt/sources.list文件的第一行为:

deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ jessie main contrib non-free rpi

其它三行不要动。原因在文件的注释里有,这里不多说。

<p>sudo apt-get update</p><p>sudo apt-get upgrade</p>

安装 python和pip 为安装无人机控件做准备

<p>sudo apt-get install python-dev</p><p>sodo wget https://bootstrap.pypa.io/get-pip.py</p><p>sudo python get-pip.py</p>

安装无人机控件: dronekit

<p>sudo pip install dronekit dronekit-sitl </p><p>sudo pip install mavproxy</p>

安装动态图像处理包,在安装时出了2个错误,重复安装一次好了。

sudo apt-get install gstreamer1.0

安装热点服务包

sudo apt-get install hostapd isc-dhcp-server

opencv的安装过程正式开始

首先是安装依赖库

<p>sudo apt-get install build-essential git cmake pkg-config</p><p>sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev</p><p>sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev</p><p>sudo apt-get install libxvidcore-dev libx264-dev</p><p>sudo apt-get install libgtk2.0-dev</p><p>sudo apt-get install libatlas-base-dev gfortran</p><p>sudo apt-get install python2.7-dev python3-dev</p><p>sudo pip install numpy</p>

下载opencv源码。我试过3.1的发布包,gpu sample里面有错误,编译不通,用最新源码编译没问题。

<p>
</p><p>cd emmc(挂在位置)</p><p>sudo git clone https://github.com/Itseez/opencv.git</p><p>sudo git clone https://github.com/Itseez/opencv_contrib.git</p><p></p>

建立编译目录

<p>sudo mkdir emmc/opencv/build</p><p>cd emmc/opencv/build</p><p></p>

运行cmake进行配置

<p>sudo cmake -D CMAKE_BUILD_TYPE=RELEASE  \</p><p>           -D CMAKE_INSTALL_PREFIX=/usr/local  \</p><p>           -D INSTALL_C_EXAMPLES=ON  \</p><p>           -D INSTALL_PYTHON_EXAMPLES=ON  \</p><p>           -D OPENCV_EXTRA_MODULES_PATH=/home/pi/emmc/opencv_contrib/modules \</p><p>           -D BUILD_EXAMPLES=ON ..</p>


完毕后,进行编译安装

<p>make -j8(m3需要1小时左右,树莓派3需要2小时,树莓派2需要2.5小时,树莓派1需要9小时)</p><p>sudo make install</p><p>sudo ldconfig</p>

至此opencv编译安装完毕

下面是一个控制无人机飞行的例程有兴趣的参考源码自己研究

<p># picamera (likely already included from opencv)</p><p># sudo pip install "picamera[array]"</p><p>
</p><p># cherrypy web server (used by red balloon finder)</p><p>sudo pip install cherrypy</p><p>
</p><p># install red balloon finder</p><p>sudo apt-get install screen</p><p>
</p><p>cd ~</p><p>git clone https://github.com/diydrones/companion.git</p><p>git clone https://github.com/rmackay9/ardupilot-balloon-finder</p>

镜像下载地址:

http://pan.baidu.com/s/1c1RdWQ0
注意,一个是镜像,一个是运行脚本



图片不清晰

我最近接触BPI-M3,opencv在ubuntu上面遇到了问题没有解决,“XRRFreeMonitors” 和“XRRGetMontors”错误,最后也是在raspbian系统上编译通过的。
请问你后来在ubuntu上面再次试过吗?
谢谢!

请问楼主使用的是什么摄像头?

厉害,静待无人机作品展