查了好多博客,opencv官网的链接都失效了,主要借鉴了下面几个博客:
https://www.cnblogs.com/arkenstone/p/6490017.html
https://blog.csdn.net/gubenpeiyuan/article/details/50543789
https://blog.csdn.net/jindunwan7388/article/details/80397700
https://blog.csdn.net/u011383131/article/details/79942339
1.安装官方给的opencv依赖包
二、下载和添加依赖包
1、首先更新 apt-get,在安装前最好先更新一下系统,不然有可能会安装失败。在终端输入:
-
sudo apt-get update
-
sudo apt-get upgrade
2、接着安装官方给的opencv依赖包,在终端输入:
-
# 移除之前的 x264的安装 sudo apt-get remove x264 libx264-dev # 安装所需依赖 sudo apt-get install build-essential checkinstall cmake pkg-config yasm sudo apt-get install git gfortran sudo apt-get install libjpeg8-dev libjasper-dev libpng12-dev # 如果你使用 Ubuntu 14.04 sudo apt-get install libtiff4-dev # 如果你使用 Ubuntu 16.04 sudo apt-get install libtiff5-dev sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev sudo apt-get install libxine2-dev libv4l-dev sudo apt-get install libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev sudo apt-get install qt5-default libgtk2.0-dev libtbb-dev sudo apt-get install libatlas-base-dev sudo apt-get install libfaac-dev libmp3lame-dev libtheora-dev sudo apt-get install libvorbis-dev libxvidcore-dev sudo apt-get install libopencore-amrnb-dev libopencore-amrwb-dev sudo apt-get install x264 v4l-utils # 选择性安装 sudo apt-get install libprotobuf-dev protobuf-compiler sudo apt-get install libgoogle-glog-dev libgflags-dev sudo apt-get install libgphoto2-dev libeigen3-dev libhdf5-dev doxygen
3、接下来安装CMake-gui,在终端输入
sudo apt-get install cmake-qt-gui
2.下载opencv3.4.0
这里需要下载opencv和opencv_contrib(后者会在cmake配置的时候用到),这是因为opencv3以后SIFT和SURF之类的属性被移到了contrib中,。
3.配置opencv3.4https://www.cnblogs.com/arkenstone/p/6490017.html
三、配置OpenCV
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文件一致的。正如上文所述,这里通过图形界面的方式来进行配置,更加直观方便。
在configure过程中过程中,会出现下面的错误:
-- ICV: Downloading ippicv_linux_20151201.tgz...
在直接下载该文件的过程中,会因为超时而失败,可以下载http://download.csdn.net/detail/jasonzzj/9691901, 并替换掉 opencv-3.2.0/3rdparty/ippicv/downloads/linux-8b449a536a2157bcad08a2b9f266828b下的同名文件,然后再次cmake即可。生成编译文件
6、这里需要对两个地方进行修改:
(1)在CMAKE_BUILD_TYPE 值处输入RELEASE,其他保持不变(如果已经存在就不必修改)。
下方的CMAKE_INSTALL_PREFIX显示了默认的安装目录,生成makefile文件最后执行 make install时就会安装到这个目录,这里可以根据个人需求更改。我这里就不做修改了。
(2)在OPENCV_EXTRA_MODULES_PATH处,选择输入目录(单击这一行后方空白处即可选中)
然后选择opencv_contrib-3.4.0文件夹中的modules文件夹,注意,不是只选中opencv_contrib-3.4.0文件夹就好了,需要选中里面的modules文件夹! 如下图所示,然后点Choose。
注:OPENCV_EXTRA_MODULES_PATH 是用来指定要编译的扩展模块,其中包括OpenCV_contrib模块。
7、点击Generate生成配置文件,这一步应该比较快就完成了。
8、接着,在build目录下打开终端,输入
-
make
-
sudo make install
9、然后就开始安装了,这一步又需要等比较长的时间了……不要急,进行到这一步说明很快就能安装成功了~
当你执行完上面两行命令的时候,并看到100%的时候,恭喜你!安装成功!
五、测试
1、在终端运行命令:pkg-config --cflags --libs opencv 出现下面信息:
-
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) 创建工作目录
mkdir ~/opencv-lena cd ~/opencv-lena gedit DisplayImage.cpp
2) 编辑如下代码
#include <stdio.h> #include <opencv2/opencv.hpp> using namespace cv; int main(int argc, char** argv ) { if ( argc != 2 ) { printf("usage: DisplayImage.out <Image_Path>\n"); return -1; } Mat image; image = imread( argv[1], 1 ); if ( !image.data ) { printf("No image data \n"); return -1; } namedWindow("Display Image", WINDOW_AUTOSIZE ); imshow("Display Image", image); waitKey(0); return 0; }
3) 创建CMake编译文件
gedit CMakeLists.txt
写入如下内容
cmake_minimum_required(VERSION 2.8) project( DisplayImage ) find_package( OpenCV REQUIRED ) add_executable( DisplayImage DisplayImage.cpp ) target_link_libraries( DisplayImage ${OpenCV_LIBS} )
4) 编译
cd ~/opencv-lena
cmake .
make
5) 执行
此时opencv-lena文件夹中已经产生了可执行文件DisplayImage,下载lena.jpg放在opencv-lena下,运行
./DisplayImage lena.jpg
直接测试:cd到opencv-3.4.0/smaples/cpp/example_cmake目录下
我们可以看到这个目录里官方已经给出了一个cmake的example我们可以拿来测试下
按顺序执行
-
cmake .
-
make
-
./opencv_example
即可看到打开了摄像头,在左上角有一个hello opencv
即表示配置成功
六,安装tensorflow-gpu版本
首先,我输入sudo pip3 install tensorflow-gpu 下载了好多次终于下载陈功后,配置失败,显示与CUDA版本不匹配,然后卸载了;
采用sudo pip3 install tensorflow-gpu ==1.5安装成功。