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

来源:互联网 发布:凡科如何绑定域名 编辑:程序博客网 时间:2024/06/05 16:07
  • 文章的内容本身是为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。

原创粉丝点击