OpenCV移植Ubuntu系统。

       在网上能找到许多关于OpenCV移植Ubuntu系统的文章,但是许多文章并不一定适合自己,经常会出现各种错误,耽误大量时间。本人之前在OpenCV官网下载OpenCV压缩包时,按照网上各种教程操作,一直没成功,甚是郁闷。后来在这个网址里下载的OpenCV安装包却顺利安装上了,有点怀疑之前下载的安装包不能在Ubuntu下安装。网址:https://sourceforge.net/projects/opencvlibrary/files/      

      进入网站后选择opencv-unix,进入后选择自己想下载的安装包,我在这里选择了2.4.9版本。下载完成后,放在Ubuntu系统的临时文件夹里,如新建linux文件夹。将opencv-2.4.9.zip文件解压会出现opencv-2.4.9文件夹。

1,首先安装第三方库。进入root模式下,输入以下命令:

apt-get install build-essential

apt-get install cmake cmake-qt-gui

apt-get install libgtk2.0-dev

apt-get install libavcodec-dev libavformat-dev libswscale-dev

apt-get install libdc1394-22-dev

apt-get install libjpeg-dev libpng-dev libtiff-dev libjasper-dev

2,opencv-2.4.9.zip解压完成后产生opencv-2.4.9文件夹,输入命令cd opencv-2.4.9进入。

进入后输入命令:mkdir build 建立build文件夹。输入命令:cd build 进入build文件夹。进入build之后输入以下命令:

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

3,opencv的安装配置。输入命令:ccmake ./  

WITH_1394,WITH_CUDA,WITH_FFMPEG设置为OFF,其他不变;按c键进行配置,g键产生Makefile。

完成之后输入命令:make进行编译,这部分时间很长。编译完成之后输入命令:make install  进行安装。安装完成之后可以在

/usr/local/lib目录下看到OpenCV的链接库。

4,安装完成之后,opencv并不能使用,还需要配置系统变量。输入命令:gedit /etc/ld.so.conf.d/opencv.conf

在打开的空白窗口中输入:/usr/local/lib  ,保存退出。退出后输入命令:sudo ldconfig。

输入命令:gedit /etc/bash.bashrc,在打开的窗口最下面输入:

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

export PKG_CONFIG_PATH

保存退出。

5,输入reboot重启系统,就可以测试opencv了。

6,接下来给出两个简单的测试程序,在随意位置新建test1文件夹,进入后输入命令:touch show.cpp,gedit show.cpp。

在新开的窗口中输入代码:

#include<opencv2/opencv.hpp>

using namespace cv;

int main()

{

      Mat img=imread("lena.jpg");

     imshow("lena",img);

     waitKey(5000);

}

g++ 'pkg-config opencv --cflags' show.cpp -o test 'pkg-config opencv --libs'

代码输入完成后,保存退出。在test1文件夹里放一张lena.jpg的图片。

退出后在test1目录下输入命令:g++ `pkg-config opencv --cflags` show.cpp -o test `pkg-config opencv --libs`

注意:命令中不是单引号'',而是``。

运行后产生test可执行文件,输入命令: ./test 即可看到输出图像。

7,使用opencv调用摄像头,可用如下代码,记得把摄像头挂载到虚拟机上。命令:touch video.cpp,gedit video.cpp。

#include<opencv2/opencv.hpp>

using namespace cv;

int main()

{

    VideoCapture capture(0); 

    while(1)

   {

         Mat frame;

         capture>>frame;

         imshow("Video",frame);

         waitKey(30);

   }

   return 0;

}

保存退出后,输入命令:g++ `pkg-config opencv --cflags` video.cpp -o video `pkg-config opencv --libs`,产生可执行文件video。

如果没有在虚拟机上挂载摄像头,该程序运行后会报错。挂载摄像头之后,可能程序会执行,但是视频跑不起来,甚至在cheese里视频也跑不起来,这时在虚拟机的设置下找到硬件/USB控制器。点击USB控制器,在右边USB兼容性选择:USB3.0即可。重新运行虚拟机,重新运行可执行文件即可看到视频。

参考:https://blog.csdn.net/brilliantdo/article/details/51417798

猜你喜欢

转载自blog.csdn.net/qq_22863619/article/details/80557631