树莓派学习笔记?? 源代码方式安装opencv | 少将全栈
  • 欢迎访问少将全栈,学会感恩,乐于付出,珍惜缘份,成就彼此、推荐使用最新版火狐浏览器和Chrome浏览器访问本网站。
  • 吐槽,投稿,删稿,交个朋友
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏少将全栈吧

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

点滴 admin 10年前 (2014-11-11) 1558次浏览 已收录 扫描二维码

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把彩色图片转换为黑白图片,并把原图和转换后的图片输出到屏幕中。

  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
    ;  
  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 plaincopy树莓派学习笔记?? 源代码方式安装opencv派生到我的代码片

  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并不困难,陷阱不多但是耗时较长,需要保持足够的耐心。


参考资料

http://blog.csdn.net/xukai871105/article/details/40988101

喜欢 (0)
[🍬谢谢你请我吃糖果🍬🍬~]
分享 (0)
关于作者:
少将,关注Web全栈开发、项目管理,持续不断的学习、努力成为一个更棒的开发,做最好的自己,让世界因你不同。