ARM-Linux环境下安装OpenCV

时间:2021-01-16 16:32:58

转自:http://blog.csdn.net/luotuo44/article/details/8958990


1、安装辅助软件

1.1、安装arm-linux-g++

        下载arm-linux-gcc-4.3.2.tgz。然后使用#tar  -zxvf  arm-linux-gcc-4.3.2.tgz  -C /命令解压。可以看到其已经被解压到/usr/local/arm/4.3.2目录下了。使用命令#vim /etc/bash.bashrc打开文件进行配置。在最后一行输入下面一句:
        export PATH=$PATH:/usr/local/arm/4.3.2/bin
        保存并退出。打开一个新终端或者在本终端输入 #source /etc/bash.bashrc使得配置信息生效。原理可以查看博文《/etc/profile、/etc/bash.bahsrc、~/.profile、~/.bashrc的用途


1.2、安装cmake-gui

        输入命令$cmake-gui后,会出现下面的提示,尚未安装cmake-gui,即没有安装图形界面。

        ARM-Linux环境下安装OpenCV

 
        用其提示的命令安装即可  $sudo apt-get install cmake-qt-gui。安装过程需要联网。


2、安装OpenCV

2.1、下载OpenCV

        到http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/下载安装opencv。自己选一个版本。我使用的是2.40。

        下载完成后,把文件解压到/root/download目录下。


2.2使用cmake编译源码

        切换到root用户(要使用root权限运行cmake-gui)。

        1)输入#cmake-gui 打开cmake的图形界面。在cmake的图形界面中输入OpenCV的源代码的所在路径和要安装的地点。如下图所示。

 
        ARM-Linux环境下安装OpenCV

        2)点击”Configure”按钮,如果还没arm-opencv目录,那么会提示新建之。点击”yes”即可。然后弹出下面的对话框。如下面那样选择。然后点击”Next”

        ARM-Linux环境下安装OpenCV
 

        3)弹出新的对话框,需要填充的信息如下:
 
        ARM-Linux环境下安装OpenCV

        4)点击Finish后,cmake就自动开始工作。


2.2.1、修改cmake的配置

        等其停止工作后,会出现下图那样,红了一片。
 
        ARM-Linux环境下安装OpenCV

        这里要更改一些东西。

        勾上 BUILD_JPEG、BUILD_PNG。如果没有安装tiff,那么取消下面的打勾。

        ARM-Linux环境下安装OpenCV

        如果想生成静态库,那么就要取消BUILD_SHARED_LIBS的打勾。

        如果想生成Debug版本的库文件,那么就要找到CMAKE_BUILD_TYPE选项,改成下图。好像是大小写敏感的,不能写成DEBUG。

        ARM-Linux环境下安装OpenCV

        

        除了Debug和Release,还有其他编译类型,这些编译类型会对应不同的编译优化级别。这里还可以看到CMake其他一些选项的意义。

        其他的看情况勾选。


        找到 ARM-Linux环境下安装OpenCV

        把后面的值改成 /usr/local/arm-opencv 如下图所示:

        ARM-Linux环境下安装OpenCV

 
        配置完成。
        再次点击Configure。如下图所示,可以看到没有了红色。(如果还有,继续按Configure
 
         ARM-Linux环境下安装OpenCV

2.2.2、使用cmake生成Makefile文件

        现在点击“Generate”按钮,产生Makefile文件。

3、编译和安装

3.1、修改编译配置

        输入命令#cd /usr/local/arm-opencv进入到opencv的安装目录下。输入#vim CMakeCache.txt命令,修改该文件。
        在
        ARM-Linux环境下安装OpenCV

        加上-lpthread –lrt 变成

        ARM-Linux环境下安装OpenCV

        保存并退出。


        代码:CMAKE_EXE_LINKER_FLAGS:STRING=-lpthread -lrt -ldl

3.2、编译文件

        再在终端输入#make命令,编译。这个过程要很久时间,目测有20分钟。
 
        ARM-Linux环境下安装OpenCV

3.3、安装OpenCV

        接着运行#make install 命令开始安装

        到这里就安装完毕了。


4、配置OpenCV

4.1、配置pkgconfig

        原理可以参考博文《pkg-config的一些用法》和《Linux静态库和动态库的使用》。

        在arm-opencv目录下,输入#mkdir pkgconfig命令新建一个目录pkgconfig, 新建完后,进入这个目录。在这个目录里面输入#vim  arm-opencv.pc创建并编辑文件。编辑这个文件,如下图所示。其中,最后一行是/usr/local/arm-opencv/lib目录里面的所有动态链接库。


        ARM-Linux环境下安装OpenCV

        保存并退出。


        代码:

#include <cv.h>
#include <highgui.h>
#include <iostream>

using namespace std;

int main(int argc, char *argr[])
{
IplImage *image = cvLoadImage("1.jpg");
if(image == NULL)
{
cout<<"Load image fail" << endl;
return -1;
}

cvNamedWindow("src", 1);
cvShowImage("src", image);
cvWaitKey();

cvDestroyWindow("src");
cvReleaseImage(&image);

return 0;
}



4.2、配置shell

        编辑/etc/bash.bashrc文件。使用命令#vim /etc/bash.bashrc。在最后一行加入
        PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/arm-opencv/pkgconfig
        Export PKG_CONFIG_PATH
 
        ARM-Linux环境下安装OpenCV

        输入 #source /etc/bash.bashrc 这个配置信息就可以用了。或者打开一个新终端,也可以使用到该配置信息。

        

5、测试使用

        创建并编辑一个test.cpp文件

        ARM-Linux环境下安装OpenCV
 

        保存,退出后,输入下面命令进行编译
        #arm-linux-g++ `pkg-config --cflags arm-opencv` `pkg-config –libs arm-opencv` test.cpp -lpthread –lrt –o test
        ARM-Linux环境下安装OpenCV
 

        以后编译arm板的OpenCV代码时,要使用上面的编译指令。其中` 符号不是逗号,而是1 左边的那个符号。而把编译好的程序放到arm板时,在运行时,还要把/usr/local/arm-opencv/lib目录下的所有.so文件都拷贝到arm的/usr/lib或者/lib目录下。原理可以参考《Linux静态库和动态库的使用》。


       另外, Linux环境下的OpenCV安装,可以参考:http://blog.csdn.net/luotuo44/article/details/8909258

                   Windows环境下的OpenCV安装,可以参考:http://blog.csdn.net/luotuo44/article/details/8903508