目录
Ubuntu16.04中用CMake-gui安装OpenCV3.4.0和OpenCV_contrib-3.4.0
安装显卡驱动
安装cuda和cudnn
安装clion
安装和编译libyuv
1.下载安装包解压
2.编译
cd libyuv
mkdir out && cd out
cmake .. && make
如果“nullptr”报错,则在CMakeLists.txt中加上set(CMAKE_CXX_STANDARD 11)
安装和编译paho.mqtt.c和paho.mqtt.cpp
1.下载安装包并解压
https://github.com/eclipse/paho.mqtt.cpp
2.编译
cd thirdparty/paho.mqtt.c
cmake -Bbuild -H. -DPAHO_WITH_SSL=OFF -DPAHO_ENABLE_TESTING=OFF
sudo cmake --build build/ --target install
sudo ldconfig
cd paho.mqtt.cpp
cmake -Bbuild -H. -DPAHO_BUILD_DOCUMENTATION=FALSE -DPAHO_BUILD_SAMPLES=FALSE -DPAHO_WITH_SSL=FALSE
sudo cmake --build build/ --target install
sudo ldconfig
安装ffmpeg
yi xia ming ling yao shou da
sudo add-apt-repository ppa:djcj/hybrid -y
sudo apt-get update
sudo apt-get install ffmpeg libavcodec-dev libavutil-dev libavformat-dev libavdevice-dev libavfilter-dev libavresample-dev libswscale-dev libswresample-dev libpostproc-dev -y
查看是否安装成功:
ffmpeg -version
安装opencv
Ubuntu16.04中用CMake-gui安装OpenCV3.4.0和OpenCV_contrib-3.4.0
参考博客:https://blog.csdn.net/jindunwan7388/article/details/80397700
为什么要安装 OpenCV_contrib
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(注意,这不是必须的)
这里我主要使用CMake-gui这个图形化界面进行安装(因为自己对ubuntu的命令不太熟悉…总是出错但又不知道怎么解决掉)。当然,也可以用终端直接输入命令操作,可以参考其他博客,这里就不再讨论。
1.下载OpenCV3.4.0和OpenCV_contrib-3.4.0安装包
所有安装包下载百度云路径:
2.下载和添加依赖包
1、首先更新 apt-get,在安装前最好先更新一下系统,不然有可能会安装失败。在终端输入:
sudo apt-get update
sudo apt-get upgrade
2、接着安装官方给的opencv依赖包,在终端输入:
sudo apt-get install build-essential libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev libopenblas-dev liblapacke-dev -y
sudo cp /usr/include/lapacke.h /usr/include/openblas
3.接下来安装CMake-gui,在终端输入(安装了cmake-gui就跳过这一步)
sudo apt-get install cmake-qt-gui
4.双击进入解压出来的OpenCV3.2.0文件夹,右键打开终端(或者在别处打开终端,通过输入cd opencv3.2.0进入当前目录下),然后依次输入(不要忘了第三行的最后的空格和两个点):
mkdir build
cd build
cmake-gui ..
然后会弹出CMake的图形化界面,在上方的两个路径里面,选择好代码所在文件夹的路径和要安装的路径
点击左下方的Configure按钮,选择Unix Makefiles,选择Use default native compilers(默认),然后点击Finish
需要下载一些文件,要等待一段时间。然后CMake即载入默认配置,如下图所示:
窗口的中间部分即配置列表,这里和使用cmake命令直接生成makefile文件一致的。正如上文所述,这里通过图形界面的方式来进行配置,更加直观方便。
这里需要对两个地方进行修改:
(1)在CMAKE_BUILD_TYPE 值处输入RELEASE,其他保持不变(如果已经存在就不必修改)。
下方的CMAKE_INSTALL_PREFIX显示了默认的安装目录,生成makefile文件最后执行 make install时就会安装到这个目录,这里可以根据个人需求更改。我这里就不做修改了。
取消WITH_CUDA 选项
(2)编译过程中会需要ippicv(arm编译不需要),先确定thirdparty目录下有ippicv_2017u3_lnx_intel64_general_20170822.tgz这个文件
修改opencv里相关配置文件,打开终端,输入
gedit /home/py/thirdparty/opencv-3.4.0/3rdparty/ippicv/ippicv.cmake (记得py换成自己的用户名)
将47行的
"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/"
改为ippicv_2017u3_lnx_intel64_general_20170822.tgz文件的本地路径:
"file:///home/py/thirdparty/" (仅供参考,根据自己的路径填写)
编辑完成保存退出。
(3)在OPENCV_EXTRA_MODULES_PATH处,选择输入目录(这是安装opencv-contrib)
然后选择opencv_contrib-3.2.0文件夹中的modules文件夹,注意,不是只选中opencv_contrib-3.2.0文件夹就好了,需要选中里面的modules文件夹! 如下图所示,然后点Choose。
注:OPENCV_EXTRA_MODULES_PATH 是用来指定要编译的扩展模块,其中包括OpenCV_contrib模块。
可以取消设置BUILD_EXAMPLES,BUILD_TESTS和BUILD_PERF_TESTS,因为它们都将与OpenCV静态链接,并且会占用大量内存。
再次点击Configure和Generate,关闭cmakegui。这一步应该比较快就完成了。
5.接着,在build目录下打开终端,输入
//第二次先执行:cmake clean
make -j4
sudo make install
sudo gedit /etc/ld.so.conf.d/opencv.conf
添加一行:/usr/local/lib
sudo ldconfig
当你执行完上面两行命令的时候,并看到100%的时候,恭喜你!安装成功!
报错:
1.matchers.hpp:52:42: fatal error: opencv2/xfeatures2d/cuda.hpp: 没有那个文件或目录
解决方法1:
在gui界面把下面这个勾去掉,不使用它,要是我们后面会用到这个方法还是不行。
解决方法2:(试了好像不行)
opencv/modules/stitching/CMakeLists.txt文件中加入一条语句使其include opencv_contrib/modules/xfeatures2d/include,可以是绝对路径,如
INCLUDE_DIRECTORIES("/home/spring/Soft/opencv3.4.2/opencv_contrib/modules/xfeatures2d/include"
编译时有很多文件会下载超时,毕竟是去github上去下载的,网速很慢,建议用cmake-gui
比如像这种文件,以及还有ippicv_2019_lnx_intel64_general_20180723.tgz 和face_landmark_model.dat等等。
error while loading shared libraries: libopencv_xfeatures2d.so.3.4: cannot open shared object file
找到libopencv_开头到库的目录,在/usr/local/lib
下面,在/etc/ld.so.conf.d/
下面新建一个opencv.conf(可能已经存在),
里面写入/usr/local/lib
,
最后执行下sudo ldconfig -v
即可
2.安装OpenCV时,会遇到下面的错误/boostdesc.cpp:646:37: fatal error: boostdesc_bgm.i没有那个文件或目录
把下列压缩包解压到目录opencv_contrib/modules/xfeatures2d/src/下即可。
压缩包地址:
链接:https://pan.baidu.com/s/17XhXX_cLz46bsj9ZWRkNIg
提取码:p50x
ubuntu16.04查看opencv安装路径以及版本号
1 查看linux下opencv安装库含路径
pkg-config opencv --libs
2 查看opencv安装版本
pkg-config opencv --modversion
3 查看opencv安装路径
sudo find / -iname “opencv”
4 在全盘上不区分大小写,搜索带有关键字opencv的所有文件及文件夹都会输出到终端,如果输出太长建议输出到txt文件里查看,如下:
sudo find / -iname “opencv” > /home/ubuntu/Desktop/opencv_find.txt
5 ubuntu16.04 head files and libs
head file address 头文件地址
/usr/include/opencv2/opencv.hpp
Lib address opencv库地址
/usr/lib/x86_64-linux-gnu
安装darknet
安装并编译caffe