小白安装OpenCV,看了很多博客,掉进很多坑,如果你也一样,不妨看看我的,希望可以带你出坑~
首先一个正确的安装包很重要哟~去官网靠谱!就是有点慢 链接:https://opencv.org/releases.html 我用的是3.4.0,因为4.+的报错是需要C++ 11,果断退守3.+,如果嫌弃官网慢,可以来我这里哟 百度网盘:
链接: https://pan.baidu.com/s/11zwJXRKR98P82GQZKeMGJA 提取码: zemf
在这里需要说一下,在Ubuntu下,推荐使用Jetbrains旗下的 Clion 集成开发环境,这个软件绝对是Linux下最好用的C++集成开发环境,方便快捷,而且对于学生党来说,可以在管网进行注册并用学校邮箱申请,就可以免费使用。
来,找个干净的地方把zip压缩包放过来,温馨提示,如果你之前安装过OpenCV,必须卸干净了~
首先进入到你之前的OpenCV下的build下,进行以下操作:
1. $ sudo make uninstall
2. $ cd ..
3. $ sudo rm -r build
4. $ sudo rm -r /usr/local/include/opencv2 /usr/local/include/opencv /usr/include/opencv /usr/include/opencv2 /usr/local/share/opencv /usr/local/share/OpenCV /usr/share/opencv /usr/share/OpenCV /usr/local/bin/opencv* /usr/local/lib/libopencv*
有可能出错,有些文件夹不存在,不用管他~接下来:
5. sudo apt-get --purge remove opencv-doc opencv-data python-opencv
回到我们开始的地方,压缩包找到地方存放后,我们解压它:
$ unzip opencv-3.4.0.zip
$ sudo apt-get install build-essential libgtk2.0-dev libvtk5-dev libjpeg-dev libtiff5-dev libjasper-dev libopenexr-dev libtbb-dev # 下载依赖项
$ cd opencv-3.4.0
$ mkdir build
$ cd build
$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local .. #设置安装目录
$ make # 编译 这一步会花一点时间,大概20分钟到一个小时,如果你的cpu性能好,可以用 make -j4
如果成功了,是这样的哦
然后,就执行:
$ sudo make install #安装
这就是成功了,接下来我们 配置环境
$ sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
$ sudo ldconfig
指定头文件位置
完成了动态库的共享,还不能使用opencv来编程,还需要为程序指定openvc的头文件位置。这里使用pkg-config命令来完成。首先在 /etc/profile 中添加export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
$ sudo vim /etc/profile
# 添加export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
安装完毕之后验证版本看是否安装成功:
$ pkg-config --modversion opencv
写个程序测试下:
首先建立一个文件夹OpenCV_Code,下面新建一个cpp文件,名为test.cpp
#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;
}
再此文件夹下继续新建一个文件,名为 CMakeLists.txt:
cmake_minimum_required(VERSION 2.8)
project( test )
find_package( OpenCV REQUIRED )
add_executable( test test.cpp )
target_link_libraries( test ${OpenCV_LIBS} )
之后在此文件夹下命令行执行:
$ cmake .
$ make
此时OpenCV_Code文件夹中已经产生了可执行文件test,下载Lina.jpg放在OpenCV_Code下,运行
$ ./test Lina.jpg
如果弹出窗口显示图片,那么恭喜你,成功了~小小庆祝下吧~