关闭

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

347人阅读 评论(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的文件夹
unzip opencv-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把彩色图片转换为黑白图片,并把原图和转换后的图片输出到屏幕中。
[cpp] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. #include <opencv2/core/core.hpp>  
  2. #include <opencv2/imgproc/imgproc.hpp>  
  3. #include <opencv2/highgui/highgui.hpp>  
  4. #include <iostream>  
  5. using namespace cv;  
  6. using namespace std;  
  7. int main (int argc, char **argv)  
  8. {  
  9.     Mat image, image_gray;  
  10.     image = imread(argv[1], CV_LOAD_IMAGE_COLOR );  
  11.     if (argc != 2 || !image.data) {  
  12.         cout << "No image data\n";  
  13.         return -1;  
  14.     }  
  15.      
  16.     cvtColor(image, image_gray, CV_RGB2GRAY);  
  17.     namedWindow("image", CV_WINDOW_AUTOSIZE);  
  18.     namedWindow("image gray", CV_WINDOW_AUTOSIZE);  
  19.      
  20.     imshow("image", image);  
  21.     imshow("image gray", image_gray);  
  22.      
  23.     waitKey(0);  
  24.     return 0;  
  25. }  
【makefile】
[plain] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. INCLUDE = $(shell pkg-config --cflags opencv)  
  2. LIBS = $(shell pkg-config --libs opencv)  
  3. SOURCES = test.cpp  
  4. # 目标文件  
  5. OBJECTS = $(SOURCES:.cpp=.o)  
  6. # 可执行文件  
  7. TARGET = test  
  8. $(TARGET):$(OBJECTS)  
  9.     g++ -o $(TARGET) $(OBJECTS) -I $(INCLUDE) $(LIBS)  
  10. $(OBJECTS):$(SOURCES)  
  11.     g++ -c $(SOURCES)  
  12. clean:  
  13.     rm $(OBJECTS) $(TARGET)  
  14. # 编译规则 $@代表目标文件 $< 代表第一个依赖文件  
  15. %.o:%.cpp  
  16.     g++ -I $(INCLUDE) -o $@ -c $<  
【简要说明】
    通过pkg-config --cflags opencv 获得opencv相关头文件路径,通过pkg-config --libs opencv获得opencv扩展库
    更多makefile知识请查看—— Linux学习笔记——例说makefile 索引博文
【编译并执行】
make
./test raspberry.jpg
    示例中载入一张名为raspberry.jpg图片。在该示例中,图片和可执行文件test应在同一个目录中。运行结果如下图所示,左侧为原始图片,右侧为转换后的图片。选择的图片色彩不够丰富,彩色图片和黑白图片的对比不够强烈,但也可证明opencv在树莓派中运行正常。

图1 运行结果
5.总结
树莓派安装opencv并不困难,陷阱不多但是耗时较长,需要保持足够的耐心。

参考资料
0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

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

本文介绍如何在树莓派中通过编译源代码的方式安装opencv,并通过一个简单的例子说明如何使用opencv。    更多内容请参考——【树莓派学习笔记——索引博文】1.下载若干依赖项    在开始安装之...
  • xukai871105
  • xukai871105
  • 2014-11-10 21:41
  • 38669

OpenCV3源码方式安装教程(树莓派、linux通用)

前一段时间刚刚做了一个在树莓派上驱动双摄像头进行深度感应+人脸识别,从而区别真人人脸与照片的小家伙,用到了OpenCV,但是我能找到的安装配置OpenCV的教程真的是各种混乱,在花了数十个小时,踩了无...
  • leaves_joe
  • leaves_joe
  • 2017-03-28 22:00
  • 7586

树莓派学习笔记——apt方式安装opencv

本文介绍如何在树莓派中通过apt方式安装opencv,并通过一个简单的例子说明如何使用opencv。相比于源代码方式安装opencv,通过apt方式安装过程步骤简单些,消耗的时间也少一些。通过apt方...
  • xukai871105
  • xukai871105
  • 2014-11-13 19:19
  • 31993

树莓派系列安装opevcv3.0教程填坑版(附加快opencv编译速度教程)

小生深知网络上树莓派安装opencv的教程层出不穷,但是基本上都是从其他地方copy的,而且copy的不完全,而且树莓派下用lena.jpg测试opencv的教程很难找到。虽然互联网的共享精神值得肯定...
  • LC_1994
  • LC_1994
  • 2016-11-07 18:06
  • 11594

树莓派-opencv安装配置

(1)安装准备工作      a.获取更新缓存:sudo apt-get update            b.安装opencv:sudo apt-get install libcv-dev ...
  • u011923796
  • u011923796
  • 2015-07-31 17:51
  • 6320

树莓派3b 基于python3.4 安装opencv3

简述: 由于一些原因,需要在树莓派上做OpenCV视觉识别,前前后后折腾了三天,看着网上形形色色的教程,出了许多错误。仔细研究了一些官方文章和国外Geek的文章,终于搭好了环境,第一篇CSDN,希望其...
  • layallan
  • layallan
  • 2017-10-24 14:07
  • 1012

树莓派学习笔记——索引博文

我清楚记得初次见到树莓派实物是在上海慕尼黑电子展,在RS中国的展位上展出了多个使用树莓派运行的游戏,我尝试了其中的几个,惊喜的发现一个这么小的东西居然有这么强大的功能,简直就是一台电脑了。所以我决定买...
  • xukai871105
  • xukai871105
  • 2014-04-07 16:48
  • 32388

树莓派学习笔记——webiopi安装与入门

webiopi是一个可控制树莓派GPIO的web框架,该框架面向物联网IoT开发。该项目托管于google,并可在sourceforge上下载到源代码。现在webiopi已经发展到0.7版本,webi...
  • xukai871105
  • xukai871105
  • 2014-03-08 21:30
  • 19271

写一下自己一个星期玩树莓派的经验,如何安装系统,如何在树莓派中安装opencv,如何运行代码。

写一下自己一个星期玩树莓派的经验,如何安装系统,如何在树莓派中安装opencv,如何运行代码。
  • chenxun2009
  • chenxun2009
  • 2014-11-11 15:50
  • 2258

树莓派3安装openCV

本人准备用树莓派+python+openCV实现一个家庭监控的装置 ,在此先介绍如何将opencv安装到 树莓派上,以及用opencv库对树莓派实现简单的应用。在此参考了如下链接的资料:http://...
  • wangteng12345678
  • wangteng12345678
  • 2017-05-20 15:47
  • 2842
    个人资料
    • 访问:89164次
    • 积分:1315
    • 等级:
    • 排名:千里之外
    • 原创:29篇
    • 转载:74篇
    • 译文:0篇
    • 评论:12条
    文章分类
    最新评论