1、下载压缩包:https://github.com/opencv/opencv,在Branch栏选择3.4版本,clone下载

2、安装cmake及依赖库,打开终端,输入以下命令:

sudo apt-get install cmake

  

sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev

 3、解压所下载的压缩包,在包含有CmakeList.txt文件的目录下右键打开终端:

新建文件夹build,并切换到build目录下:

mkdir build
cd build  

4、 cmake一下

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

其中可能会有一个ippicv下载时间长或者下载失败,可考虑手动下载:链接:https://pan.baidu.com/s/1gWpo1no0V4PlMMMxWfCFew 提取码:kuox 

这个安装包是ippicv_2019_lnx_intel64_general_20180723.tgz,若终端显示下载其他版本的,自行百度下载。

下载后无需解压,复制文件的绝对路径(不包含文件名,如/home/xlzc/Download/),打开opencv-3.4/3rdparty/ippicv/ippicv.cmake文件,定位在47行,

替换自己的本地文件路径,如下:

再次执行上一cmake命令,ok了,

5、之后执行make,编译时间有些长:

sudo make

6、执行命令:

sudo make install

7、执行完毕后OpenCV编译过程就结束了,接下来就需要配置一些OpenCV的编译环境首先将OpenCV的库添加到路径,从而可以让系统找到

sudo gedit /etc/ld.so.conf.d/opencv.conf

执行此命令后打开的可能是一个空白的文件,不用管,只需要在文件末尾添加,之后保存。

/usr/local/lib

 执行如下命令使得刚才的配置路径生效

sudo ldconfig

可能会有以下错误:(我安装时未碰到)

sbin/ldconfig.real: /usr/lib/nvidia-375/libEGL.so.1 不是符号连接
/sbin/ldconfig.real: /usr/lib32/nvidia-375/libEGL.so.1 不是符号连接
出现这个错误可能是由于系统BUG所致

只需要分别输入上面图下部分的四行命令就可解决

sudo mv /usr/lib/nvidia-375/libEGL.so.1 /usr/lib/nvidia-375/libEGL.so.1.org
sudo mv /usr/lib32/nvidia-375/libEGL.so.1 /usr/lib32/nvidia-375/libEGL.so.1.org
sudo ln -s /usr/lib/nvidia-375/libEGL.so.375.39 /usr/lib/nvidia-375/libEGL.so.1
sudo ln -s /usr/lib32/nvidia-375/libEGL.so.375.39 /usr/lib32/nvidia-375/libEGL.so.1

8、配置bash(类似于Windows环境变量)  

sudo gedit /etc/bash.bashrc

在最末尾添加

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

保存,执行如下命令使得配置生效

source /etc/bash.bashrc   

更新

sudo updatedb

至此所有的配置都已经完成

9、测试

cd到opencv-3.4.1/samples/cpp/example_cmake目录下 我们可以看到这个目录里官方已经给出了一个cmake的example我们可以拿来测试下

按顺序执行 

cmake .
make
./opencv_example

即可看到打开了摄像头,在左上角有一个hello opencv 
即表示配置成功,无摄像头也输出hello opencv

或者自己建立一个小工程测试,新建文件夹demo,包含文件CMakeList.txt和文件main.cpp

CMakeList.txt:

cmake_minimum_required(VERSION 2.8)

project(example_project)

find_package(OpenCV REQUIRED)

add_executable(example main.cpp)	

target_link_libraries(example ${OpenCV_LIBS})

main.cpp

#include "opencv2/core.hpp"
#include "opencv2/imgproc.hpp"
#include "opencv2/highgui.hpp"
#include "opencv2/videoio.hpp"
#include <iostream>

using namespace cv;
using namespace std;

int main()
{
    cout << "Hello OpenCV " << CV_VERSION << endl;

    Mat myMat = imread("/home/xlzc/桌面/project/opencv_test/test2.jpg",1);

	// 显示图像
	imshow("Opencv Image", myMat);

	// 等待按键延时 ms
	waitKey(5000);

    return 0;
}  

在当前目录下打开终端,依次运行以下命令

cmake .
make
./example

j即可显示一张图片  

参考转载:https://blog.csdn.net/cocoaqin/article/details/78163171

 

  

 

最新文章

  1. ORACLE等待事件: log file parallel write
  2. 矩阵乘法 --- hdu 4920 : Matrix multiplication
  3. BZOJ 2467 解题报告
  4. 一个ICMP单元
  5. Android first---放置在外存中的文件读取
  6. COleDateTime类型的应用
  7. 213. House Robber II
  8. Python自动化运维之1、Python入门
  9. 阿根廷探戈舞会- 一起salsa百科 - 一起salsa网 - Powered by HDWiki!
  10. Android 高仿微信即时聊天 百度云为基础的推
  11. 18个你可能不相信是用CSS制作出来的东西
  12. 神奇的Python
  13. *** non-numeric second argument to `wordlist&#39; function: &#39;&#39;. Stop错误解决办法
  14. .NET之消息推送(SignalR即时通讯实现)
  15. CodeForces Round #550 Div.3
  16. 如何编辑PDF文件,怎么使用PDF裁剪页面工具
  17. Metasploit渗透技巧:后渗透Meterpreter代理
  18. 【题解】 [SCOI2010]连续攻击游戏 (二分图匹配)
  19. [SPOJ-LCS]Longest Common Substring
  20. C# 通过 HTTPModule 防范 DOS

热门文章

  1. 卷积神经网络(CNN)在语音识别中的应用
  2. Office - Excel 2013
  3. Django 开启显示查询语句log
  4. 利用 NGINX 最大化 Python 性能,第二部分:负载均衡和监控
  5. leetcode题解之分解字符串域名
  6. HBase RegionServer宕机处理恢复
  7. SQL Server -&gt;&gt; 存储过程sp_describe_first_result_set解析T-SQL语句的结果集结构信息
  8. asp.net 一般处理程序接收上传文件的问题
  9. Oracle诊断工具 - ORA-4030 Troubleshooting Tool
  10. 第一个 mac 程序 Create-JSON-Model