[置顶] 基于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的相关工具:
编辑:
vi CMakeLists.txt
编辑:
#cmake .
#make
#./DisplayImage uk722.jpg //要显示图片需要安装GTK+ 2.x版本
如果成功显示图片就说明opencv安装好了。
接下来需要一个合适的编译器去写图像处理的算法,此处用的是QT,下一篇将介绍如何安装QT。
后来赛题出来,图像处理部分基本是纯定点了,好在定点比寻迹简单的太多了,之前早已写好定点的图像处理代码,鉴于今后可能有各种项目需要用到,比如无人机、智能车等等,所以把准备电赛的寻迹代码及整体思路分享,或许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。
相关文章推荐
- 基于OpenCv的四轴飞行器寻迹系统(二)——linux下QT的安装及导入OpenCv
- SSDCRM正式推出基于linux系统的一键安装版
- 如何在CentOS/RHEL中安装基于Web的监控系统 linux-dash
- 如何在CentOS/RHEL中安装基于Web的监控系统 linux-dash
- Linux系统安装后的基础优化-基于CentOS(5.8/6.4)
- Linux系统安装后的基础优化-基于CentOS(5.8/6.4)
- 终于解决在基于rpm的linux系统安装google-talkplugin_current_i386
- 基于linux系统下的SVN服务安装
- Linux系统安装后的基础优化-基于CentOS(5.8/6.4)
- Linux上基于网络自动化安装系统(CentOS6.5+DHCP+TFTP+PXE)
- [置顶] 基于linux的二维码DM ,QR平台搭建(opencv) (一)
- python脚步管理工具supervisor=3.3.0的安装、使用。基于linux系统。
- 基于Linux和Postfix的邮件系统的web mail安装手册
- Linux之win764位下基于EasyBCD的硬盘安装ubuntu32位双系统一些错误总结
- 【转】如何在CentOS/RHEL中安装基于Web的监控系统 linux-das
- 基于Linux和Postfix的邮件系统的web mail和extman安装手册
- linux下PXE的配置实现系统基于网络安装
- Linux系统安装后的基础优化-基于CentOS(5.8/6.4)
- 基于kickstart定制自动化安装的linux镜像系统
- Linux系统安装后的基础优化-基于CentOS(5.8/6.4)