热线电话:0755-23712116
邮箱:contact@shuangyi-tech.com
地址:深圳市宝安区沙井街道后亭茅洲山工业园工业大厦全至科技创新园科创大厦2层2A
初次尝试在Ubuntu上面安装OpenCV,遇到了各种奇奇怪怪的问题,也查了好多博客和相关说明,弄了好久好久终于,完成了。我本着方便和帮助更多跟我一样刚入门OpenCV的小伙伴的初衷,写下这篇文章,希望能帮助大家,让大家少走弯路。
为了更好地展示其中的每个细节,我特意重新安装了一遍,把自己的步骤自己再走一遍保证其正确性,顺便截图给大家看。当然在写的过程中,也参考了一些博客和网址,尽可能把问题讲清楚讲明白。相关参考见文章最后。
好了话不多说,下面进入正题!
OpenCV3.0以上的版本,把一些不稳定的函数放到了第三方库OpenCV_contrib中(比如sift,surf等),为了应用这些功能,我们需要通过CMake把OpenCV_contrib中的功能重新加入到OpenCV3.2.0中。
关于OpenCV_contrib,可以参见官方说明:https://github.com/opencv/opencv_contrib/blob/master/README.md
这里我主要使用CMake-gui这个图形化界面进行安装(因为自己对ubuntu的命令不太熟悉…总是出错但又不知道怎么解决掉)。当然,也可以用终端直接输入命令操作,可以参考其他博客,这里就不再讨论。
1、首先更新 apt-get,在安装前最好先更新一下系统,不然有可能会安装失败。在终端输入:
sudo apt-get update
sudo apt-get upgrade
2、接着安装官方给的opencv依赖包,在终端输入:
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev\然后下载OpenCV3.2.0和OpenCV_contrib-3.2.0,下载需要等待一段时间
https://github.com/Itseez/opencv/archive/3.2.0.zip
https://github.com/opencv/opencv_contrib/archive/3.2.0.zip
3、接下来安装CMake-gui,在终端输入
sudo apt-get install cmake-qt-gui
1、将OpenCV3.2.0和OpenCV_contrib-3.2.0解压(提取),如图所示
2、双击进入解压出来的OpenCV3.2.0文件夹,右键打开终端(或者在别处打开终端,通过输入cd opencv3.2.0进入当前目录下),然后依次输入(不要忘了第三行的最后的空格和两个点):
mkdir build
cd build
cmake-gui ..
3、然后会弹出CMake的图形化界面,在上方的两个路径里面,选择好代码所在文件夹的路径和要安装的路径
4、点击左下方的Configure按钮,选择Unix Makefiles,选择Use default native compilers(默认),然后点击Finish
5、需要下载一些文件,要等待一段时间。然后CMake即载入默认配置,如下图所示:
窗口的中间部分即配置列表,这里和使用cmake命令直接生成makefile文件一致的。正如上文所述,这里通过图形界面的方式来进行配置,更加直观方便。
6、这里需要对两个地方进行修改:
(1)在CMAKE_BUILD_TYPE 值处输入RELEASE,其他保持不变(如果已经存在就不必修改)。
下方的CMAKE_INSTALL_PREFIX显示了默认的安装目录,生成makefile文件最后执行 make install时就会安装到这个目录,这里可以根据个人需求更改。我这里就不做修改了。
(2)在OPENCV_EXTRA_MODULES_PATH处,选择输入目录(单击这一行后方空白处即可选中)
然后选择opencv_contrib-3.2.0文件夹中的modules文件夹,注意,不是只选中opencv_contrib-3.2.0文件夹就好了,需要选中里面的modules文件夹! 如下图所示,然后点Choose。
注:OPENCV_EXTRA_MODULES_PATH 是用来指定要编译的扩展模块,其中包括OpenCV_contrib模块。
7、点击Generate生成配置文件,这一步应该比较快就完成了。
8、接着,在build目录下打开终端,输入
make9、然后就开始安装了,这一步又需要等比较长的时间了……不要急,进行到这一步说明很快就能安装成功了~
当你执行完上面两行命令的时候,并看到100%的时候,恭喜你!安装成功!
1、安装成功后还需要设置opencv的环境变量。打开文件:
sudo gedit /etc/ld.so.conf.d/opencv.conf
2、将以下内容添加到最后:
/usr/local/lib
3、接下来配置库:
sudo ldconfig
4、更改环境变量:
sudo gedit /etc/bash.bashrc
5、在文件后添加:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig6、保存退出,在运行下面的例程之前,需要重新开启终端来使配置生效。
到此,安装和配置的整个过程都完成了!
1、在终端运行命令:
licaibiao@ubuntu:~/test/OpenCV$ pkg-config --cflags --libs opencv
-I/usr/local/include/opencv -I/usr/local/include -L/usr/local/lib -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann -lopencv_core
licaibiao@ubuntu:~/test/OpenCV$
2、运行一个打开图片的程序。
(1)在任意位置,新建一个文件夹test。
(2)创建DisplayImage.cpp文件,并输入以下代码,保存。
#include
#include
#include
#include
using namespace cv;
int main( int argc, char** argv )
{
Mat image;
image = imread( argv[1], 1 );
if( argc != 2 || !image.data )
{
printf( "No image data \n" );
return -1;
}
namedWindow( "Display Image", CV_WINDOW_AUTOSIZE );
imshow( "Display Image", image );
waitKey(0);
return 0;
}
(3)用CMake编译:添加一个CMakeLists.txt 文件,内容如下,保存
project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )
(4)在test文件夹中右键,打开终端,执行以下命令,生成执行文件 DisplayImage。(这里cmake后面一个点就够了,表示在当前目录下执行cmake操作)
cmake .
make
(5)选择一张图片,复制到test文件夹中,并且重命名为test.jpg
(6)在终端运行以下代码
./DisplayImage test.jpg
如果以上步骤都安装和配置成功,可以显示出图片:
大功告成!
希望大家都所有收获,有所成就!
文章转自https://blog.csdn.net/jindunwan7388/article/details/80397700