MAC Windows linux(树莓派)三平台配置 opencv2.4.13 + QT环境

一、MAC平台

mac平台上用xcode配置使用opencv的具体操作过程可以参考这篇博文:
http://blog.csdn.net/u014365862/article/details/53067565

在xcode上面配置好了opencv之后就可以进行QT的配置:
http://blog.csdn.net/tianzhaixing2013/article/details/52077064
在上面的博文的基础上我补充一点,在helloCV.pro 末尾添加的代码中可以替换成下面的完整版本,但是注意不同版本的opencv的库不同,此处用的是opencv2.4.13:

# 导入opencv的路径
INCLUDEPATH += /usr/local/include
INCLUDEPATH += /usr/local/include/opencv
INCLUDEPATH += /usr/local/include/opencv2

# 导入opencv的完整库
LIBS += -L/usr/local/lib \
    -lopencv_calib3d \
    -lopencv_contrib \
    -lopencv_core \
    -lopencv_features2d \
    -lopencv_flann \
    -lopencv_gpu \
    -lopencv_highgui \
    -lopencv_imgproc \
    -lopencv_legacy \
    -lopencv_ml \
    -lopencv_nonfree \
    -lopencv_objdetect \
    -lopencv_ocl \
    -lopencv_photo \
    -lopencv_stitching \
    -lopencv_superres \
    -lopencv_video \
    -lopencv_videostab \

二、Windows平台

win10中配置opencv的具体步骤:
http://blog.csdn.net/hfxmath/article/details/53452874
还是补充一下,在上文中写VS2015中项目的属性表时可能会出现以下的情况,和博文中的稍有不符,只需要在项目根目录上面点反键选择属性在那个对话框里面设置即可,这样就可以把整个下面呢四个分目录里面的内容都设置了。
这里写图片描述

按照上面的步骤配置好opencv的环境之后就可以接着在QT中配置opencv的环境了,这里说明一下,在下载QT的时候要下载msvc版本,而不要下载MinGW版本,否则要cmake编译OpenCV然后再导入,这样就会很麻烦,大家可以参考:
http://www.tuicool.com/articles/VZfue2
只需要把下载的opencv的包换成2.4.13版本就可以了。其中有些位置还是要更改一下的,在我按照上面的博文实践的过程中,第五步修改工程的pro文件中,按照上面的博文的方法不成功,导入头文件时会报错,可以使用下面的代码来更改:

# 导入opencv的路径
INCLUDEPATH+=D:/Opencv/opencv/build/include/opencv
INCLUDEPATH+=D:/Opencv/opencv/build/include/opencv2
INCLUDEPATH+=D:/Opencv/opencv/build/include

# 判断是debug还是release模式的编译然后导入不同的库文件
CONFIG(debug,debug|release) {
LIBS += -LD:/Opencv/opencv/build/x64/vc14/lib \
    -lopencv_world320d \
}
else{
LIBS += -LD:/Opencv/opencv/build/x64/vc14/lib \
    -lopencv_world320 \
}

应用以上的代码就可以实现配置了。

三、Linux平台

在Linux平台上面安装opencv还是一个比较耗时的工作,我是采用树莓派平台作为对象来进行配置的。
首先通过mac的终端或者win下的Xshell(比putty的界面要友好一些)连接树莓派对其进行控制。以下的命令都是通过上面的终端或者Xshell进行输入的。
利用ssh通信连接树莓派:

ssh pi@192.168.0.102    

后面的是IP地址,根据你们树莓派的ip地址来修改。连接之后输入密码即可启动树莓派的ssh通信。
利用sudo raspi-config 可以进入树莓派的配置页面,激活相应需要的选项。

现在来升级树莓派,以提供有关的最新发行包:

sudo apt-get update
sudo apt-get upgrade

为了获取发行包,你可以安装一个synaptic软件包管理器,可用于图形用户界面取代输入sudo apt-get 命令来安装这个软件包,安装好opencv之后,用它来安装丢失的包非常的便利:

sudo apt-get -y install synaptic

(其中的 -y 是指在安装过程中对于所有需要用户确认的步骤都默认为yes)。

我们必须安装python的科学计算库和数学库来处理图像以及获得一些附加功能,输入以下命令来进行安装:

sudo apt-get -y install python-numpy python-scipy python-nose python-pandas python-matplotlib ipython-notebook python-sympy

接下来需要安装GtkGLExt以支持OpenGL的渲染,OpenGL是一个通常由GPU使用以获取三维和二维图形的API,我们将在构建OpenCV时启用它:

sudo apt-get -y install libgtkglext1-dev

为了在树莓派中打击那开发环境并将所有的必备库更新到最新版本中,同时使其与Linux操作系统兼容,可以用CMake配置安装包病管理构建过程,输入:

sudo apt-get -y install build-essential camke pkg-config

然后就可以安装QT了(以下安装的是QT4),输入以下命令:

sudo apt-get -y install  qtcreator qt4-dev-tools libqt4-dev libqt4-core libqt4-gui v4l-utils

以上我们就准备好了所有的必备软件包,就可以下载opencv库了,我们还是和上面一样,下载opencv2.4.13版本,并且以后可以升级opencv,输入以下命令来下载OpenCV库:

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

下载完官方源码文件之后,用以下命令来解压文件

unzip opencv-2.4.13.zip

如果下载的文件是原始码的压缩格式,则可以用以下命令来解压:

tar xzvf opencv-2.4.13.tar.gz

执行完上述命令之后,整个文件会放到opencv-2.4.13文件夹中,在该文件夹内创建一个build文件(用于装后面的cmake编译文件),依次输入以下命令完成上述过程:

cd opencv-2.4.13
mkdir build
cd build

接下来,我们准备用CMake命令为生成发行版的库配置类型,查看CMake的输出,检查哪些包安装了,哪些没有安装,没有安装的可以手动安装CMake没有安装的包。在查看CMake输出之后,你可以发现所有的库和包之前都标记有YES和TRUE,如果不是这样,只需要用synaptic包管理器列出这样额库和包的名称进行安装即可。在如下的命令最后加上 “..” 对于成功创建make文件非常重要:

cmake -D CMAKE_BUILD_TYPE=RELEASE -D WITH_OPENGL=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D WITH_QT=ON -D CMAKE_INSTALL_PREFIX=/USR/LOCAL -D WITH_TBB=ON -D WITH_V4L=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D BUILD_EXAMPLES=ON ..

下一步就是编译整个库,正如我们所看见的那样,OpenCV有很多的组件。
我们用前述命令cmake生成了一个内部的make文件。它将被用于我们所选择的环境当中,由于OpenCV库中各组件之间的依赖性,执行make命令非常有用:

make

在启动对话莓派编译的过程中不要打扰它,即使中间的某个阶段编译挂起或者停滞不前,甚至树莓派意外关机都不用担心,只要再次开启对话,进入到同一个文件夹下重新输入make命令,这就可以从之前停止的地方继续进行。

一旦这个耗时最长的任务结束了,我们就可以在树莓派上安装已编译好的库,安装库花费的时间不会像前面的编译那样漫长:

sudo make install

我们应该在/etc文件夹下降OpenCV的配置文件设置为ldconfig。ldconfig可以在/etc/ld.so.conf文件、/lib与/usr/lib路径下显示在命令行中的目录里的最新共享库生成必要的链接,这样做的目的是告诉树莓派操作系统我们已经安装了OpenCV库,因此要针对OpenCV的配置单独创建一个文件:

sudo nano /etc/ld.so.conf.d/opencv.conf

在刚才打开的文件中输入下面的内容:

/usr/local/lib

然后按下Ctrl+O键保存,Ctrl+X键退出文件

输入 sudo ifconfig, 使文件中所做的修改生效,我们将在交互式shell源文件(可用作终端仿真器)中把代码粘贴到文件的末尾。文件相当长,所以要用键盘向下滚动:

sudo nano /etc/bash.bashrc

在文件最后输入下面的几行代码,请注意在新的一行代码中输入export命令,然后保存、退出:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

对该文件的编辑可以让我们在任意目录中自由编译OpenCV代码,这和将库的环境变量添加到Linux操作系统中类似。至此,我们的配置就全部完成了。

如果感兴趣的话,也可以在上面安装的QT中配置wringPi库来用QT控制树莓派连接的相关传感器,给树莓派安装wringPi库参考:
http://blog.csdn.net/xukai871105/article/details/17737005
安装好之后在QT的后缀是 .pro文件最后加上:

LIBS += -L/usr/lib \
    -lwringPi

就配置好了。

花了两次监考的时间来码,也是第一次码这么多,希望能对大家有所帮助哦!

猜你喜欢

转载自blog.csdn.net/sinat_28731575/article/details/72822169