未加星标

树莓派学习笔记—— 源代码方式安装OpenCV

字体大小 | |
[系统(linux) 所属分类 系统(linux) | 发布者 店小二03 | 时间 20160901 | 作者 红领巾 ] 0人收藏点击收藏

0.前言

本文介绍如何在树莓派中通过编译源代码的方式安装opencv,并通过一个简单的例子说明如何使用opencv。

1.下载若干依赖项

在开始安装之前,最好更新树莓派软件源。如果更新时间太长,请参考博文修改软件源网络地址——【树莓派学习笔记——修改树莓派软件源】

sudo apt-get update

请依次安装以下依赖项,这些必须安装的依赖项来自于opencv官网的说明,在多数debian系统中都可以采用这种方式进行安装。其实在树莓派中build-essential已经默认安装,但是cmake等其他内容仍需要手动安装。

sudo apt-get install build-essential

sudo apt-get install cmake

sudo apt-get install libgtk2.0-dev

sudo apt-get install pkg-config

sudo apt-get install python-dev python-numpy

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev

2.获得源代码

在树莓派用户目录中建立opencv文件夹

mkdir opencv

通过sourceforge网站获取opencv源代码,本文选择2.4.9版本。下载过程可能比较缓慢,请耐心等待。

wget http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.9/opencv-2.4.9.zip/download opencv-2.4.9.zip

解压源代码,获得一个名为opencv-2.4.9的文件夹

unzipopencv-2.4.9.zip

3.编译源代码

进入opencv源代码目录,在该目录中新建一个名为release的文件夹。

cd ~/opencv/opencv-2.4.9

mkdir release

cd release

使用cmake工具在该文件夹中生成makefile文件,指定opencv的安装目录为/usr/local,opencv的源代码位于上一层目录。

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..

编译源代码并安装(编译源代码的时间非常的长,make之后我便睡去,第二天早上才执行install)

make

sudo make install

更新搜索动态链接库

sudo ldconfig

4.示例

【C++】——通过代码载入一张图片,通过opencv把彩色图片转换为黑白图片,并把原图和转换后的图片输出到屏幕中。

#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main (int argc, char **argv)
{
Mat image, image_gray;
image = imread(argv[1], CV_LOAD_IMAGE_COLOR );
if (argc != 2 || !image.data) {
cout << "No image data\n";
return -1;
}

cvtColor(image, image_gray, CV_RGB2GRAY);
namedWindow("image", CV_WINDOW_AUTOSIZE);
namedWindow("image gray", CV_WINDOW_AUTOSIZE);

imshow("image", image);
imshow("image gray", image_gray);

waitKey(0);
return 0;
}
【makefile】
INCLUDE = $(shell pkg-config --cflags opencv)
LIBS = $(shell pkg-config --libs opencv)
SOURCES = test.cpp
# 目标文件
OBJECTS = $(SOURCES:.cpp=.o)
# 可执行文件
TARGET = test
$(TARGET):$(OBJECTS)
g++ -o $(TARGET) $(OBJECTS) -I $(INCLUDE) $(LIBS)
$(OBJECTS):$(SOURCES)
g++ -c $(SOURCES)
clean:
rm $(OBJECTS) $(TARGET)
# 编译规则 $@代表目标文件 $< 代表第一个依赖文件
%.o:%.cpp
g++ -I $(INCLUDE) -o $@ -c $<

【简要说明】

通过pkg-config --cflags opencv 获得opencv相关头文件路径,通过pkg-config --libs opencv获得opencv扩展库


【编译并执行】

make

./test raspberry.jpg

示例中载入一张名为raspberry.jpg图片。在该示例中,图片和可执行文件test应在同一个目录中。运行结果如下图所示,左侧为原始图片,右侧为转换后的图片。选择的图片色彩不够丰富,彩色图片和黑白图片的对比不够强烈,但也可证明opencv在树莓派中运行正常。


树莓派学习笔记—— 源代码方式安装OpenCV
图1 运行结果

5.总结

树莓派安装opencv并不困难,陷阱不多但是耗时较长,需要保持足够的耐心。

参考资料

【Installation in linux

【Installation of OpenCV Raspberry pi】



本文地址:http://www.codesec.net/Linux/2016-09/135510.htm


树莓派学习笔记—— 源代码方式安装OpenCV

本文系统(linux)相关术语:linux系统 鸟哥的linux私房菜 linux命令大全 linux操作系统

主题: OpenCVLinuxC++AUAUTUT考博其实B2G2G
分页:12
转载请注明
本文标题:树莓派学习笔记—— 源代码方式安装OpenCV
本站链接:http://www.codesec.net/view/483777.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 系统(linux) | 评论(0) | 阅读(24)