您的位置:首页 > 运维架构 > Linux

[置顶] 基于opencv的四轴飞行器寻迹系统(一)——linux下opencv的安装

2017-11-05 11:23 337 查看
文章的内容本身是为2017全国大学生电子设计大赛飞行器方向题准备的,在七月底的时候寻迹的图像处理方面已经完成的差不多了,能实现非常精确的巡线,实际测试即使背景不是白布,也可以轻松分辨出道路、拟合出直线。

后来赛题出来,图像处理部分基本是纯定点了,好在定点比寻迹简单的太多了,之前早已写好定点的图像处理代码,鉴于今后可能有各种项目需要用到,比如无人机、智能车等等,所以把准备电赛的寻迹代码及整体思路分享,或许2019年电赛国赛会有用到。

首先是图像处理平台的选择,主要就是openmv和树莓派了,一开始我也准备用的openmv,应该说我一开始就用的openmv,那是在2016年12月的校赛,花了400块买的,后来为什么不用呢?第一、太简单了,里面历程基本覆盖了,个人基本学不到啥,做图像处理本身就是一个探索摸索的过程,没意思;第二、图像质量太差,颜色定位不准、轮廓识别不准,日后若想深入开发,没有深入开发的能力,综上,我最后决定放弃openmv。

决定用opencv后,很关键就是如何找开发平台,好在有树莓派3这么一个好东西,价格和openmv差不多,但性能强上数十倍,是嵌入式视觉的最佳选择(大疆有妙算,5000大洋,感兴趣可以购买 )。

如何在树莓派上安装opencv,这是本文的重点,今天主要讲的是如何在树莓派上安装opencv,涉及具体的算法将在后文继续说明。

安装opencv是一个烦人的过程,整个过程大概在两个小时左右,其中编译环节占了3/4.

Opencv安装:

安装构建OpenCV的相关工具:

//安装build-essential、cmake、git和pkg-config
sudo apt-get install build-essential cmake git pkg-config
//安装jpeg格式图像工具包
sudo apt-get install libjpeg8-dev
//安装tif格式图像工具包
sudo apt-get install libtiff5-dev
//安装JPEG-2000图像工具包
sudo apt-get install libjasper-dev
//安装png图像工具包
sudo apt-get install libpng12-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install libatlas-base-dev gfortran


以上是opencv的依赖性,现在开始下载源码并编译源码,编译过程大概一个半小时,注意散热,期间卡机直接重启,再make就可以,不需要重复上述步骤。
到http://opencv.org/downloads.html 下载opencv-3.2.0.zip放在/home目录下
#unzip opencv-3.2.0.zip
解压到/home目录下
#cd opencv-3.2.0
#mkdir release
#cd release
#cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
#make
#make install
测试:
#mkdir /tmp/opencvdemo
#cd /tmp/opencvdemo
#vi DisplayImage.cpp


编辑:

#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv )
{
if ( argc != 2 )
{
printf("usage: DisplayImage.out <Image_Path>\n");
return -1;
}
Mat image;
image = imread( argv[1], 1 );
if ( !image.data )
{
printf("No image data \n");
return -1;
}
namedWindow("Display Image", WINDOW_AUTOSIZE );
imshow("Display Image", image);
waitKey(0);
return 0;
}


vi CMakeLists.txt

编辑:

cmake_minimum_required(VERSION 2.8)
project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage.cpp )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )


#cmake .

#make

#./DisplayImage uk722.jpg //要显示图片需要安装GTK+ 2.x版本

如果成功显示图片就说明opencv安装好了。

接下来需要一个合适的编译器去写图像处理的算法,此处用的是QT,下一篇将介绍如何安装QT。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: