树莓派上搭建opencv环境
来源:互联网 发布:淘宝全额抵扣什么意思 编辑:程序博客网 时间:2024/06/04 00:40
树莓派上搭建opencv环境
本文记录搭建opencv的过程,为以后做一个参考,使用的是树莓派2(Raspberry Pi2),opencv版本为opencv-2.4.9。
1、准备:在树莓派上安装系统
我选择的是debian系统,镜像可以在官网下载
安装系统比较简单,我是使用Win32DiskImager工具将镜像文件烧写到SD卡(32G)中,然后将SD卡插入到树莓派中上电就可以了。
2、搭建opencv环境
1)源列表更新
在国内,如果使用的是国外的源是不能更新下载软件,而且有许多源使用起来很慢,让人难以忍受,这里给出我使用的源列表:
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ jessie main non-free contrib deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ jessie main non-free contrib
用上面的源列表替代/etc/apt/souces.list
中的内容,然后再终端输入:
sudo apt-get update
2)更新升级已经安装的软件和Raspberry Pi固件
打开终端,输入:
sudo apt-get upgrade sudo rpi-update
update和upgrade都是需要的,我在电脑上安装时没有加这两条指令,最后搭建环境时出现了错误,并且难以解决。
3)安装需要的工具包
sudo apt-get install build-essential cmake pkg-config
cmake是一个编译配置工具,可以通过编写CMakeLists.txt来控制生成相应Makefile,这种方式也是opencv程序推荐的编译程序的方式。
pkg-config是用来获取库的各种必要信息的,包括版本信息、编译和链接需要的参数等等,在编译时也可以用pkg-config来编译
4)安装不同格式图像的I/O包
sudo apt-get install libjpeg8-dev libtiff4-dev libjasper-dev libpng12-dev
5)安装GTK开发库
sudo apt-get install libgtk2.0-dev
这个库是用来构建GUI的,同时opencv中highgui库也需要用到它。但是这个在安装时最容易出现问题,我遇到的就是安装时提示找不到目标,这种时候可能是源列表有问题,或者是没有更新和升级已安装的软件。
6)安装必要的视频I/O包
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
7)安装opencv优化操作需要的库
sudo apt-get install libatlas-base-dev gfortran
8)下载并解压opencv库
在opencv官网下载opencv源码,我使用的是opencv-2.4.9。解压:
unzip opencv-2.4.9.zipcd opencv-2.4.9
9)编译安装opencv
注意:这一步骤中编译耗时较长,要两个小时左右,请合理安排时间。
cmake .makesudo make installsudo ldconfig
完成之后opencv应该已经安装完成,头文件目录为/usr/local/include/opencv
,库文件目录为/usr/local/lib
。到此opencv安装完成,接下来是测试环境搭建是否成功。
3、测试opencv环境是否搭建成功
1)编写代码
用显示图像的例子来测试,编写一个test.cpp:
#include<iostream>#include<cv.h>#include<highgui.h>using namespace cv;int main(){ Mat img = imread("lena.jpg"); namedWindow("test"); imshow("test",img); waitKey(0); return 0;}
imread()函数读取一张图片,参数是图片的路径。
2)编译执行
这里用pkg-config的方式来编译opencv程序
g++ `pkg-config --cflags opencv` -o test test.cpp `pkg-config --libs opencv` ./test
参考:
http://www.jb51.net/article/63103.htm
- 树莓派上搭建opencv环境
- java+Opencv环境搭建
- android--OpenCV--环境搭建
- Opencv Linux环境搭建
- QT+opencv环境搭建
- QT 环境搭建+opencv
- python + opencv 环境搭建
- OpenCV学习-搭建环境
- openCV VS2012环境搭建
- python & opencv 环境搭建
- android opencv 环境搭建
- [Android] Opencv 环境搭建
- Opencv+vs2013环境搭建
- VS2013+OpenCV环境搭建
- OpenCV环境搭建
- OpenCV环境搭建
- opencv开发环境搭建
- opencv1---opencv环境搭建
- 已知二叉树的中序和前序序列(或后序)求解树
- div+CSS里长英文字母如何自动换行
- 经典SQL语句大全(绝对的经典)
- 这就是iPhone X与Galaxy Note 8的比较,买不买看你的了
- java打印1970年之后日历
- 树莓派上搭建opencv环境
- js ajax post请求 传递一个较长的参数(含有逗点),IE浏览器可以正常传递到后台做处理,谷歌浏览器会把参数拦截,找不到相应的目标
- [RK3288][Android6.0] 调试笔记 --- Recovery log重定向
- 测试模型之V模型
- MYSQL乱码
- Node
- mysql之any,in,some,all的区别
- 【安全牛学习笔记】CONTROL FRAME
- DML、DDL、DCL区别