ubuntu16.04编译安装opencv3.4.6
2019-04-11 09:51:33来源:博客园 阅读 ()
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
原文链接:https://www.cnblogs.com/fighting25/p/10687564.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:Linux IO 模型
- 安装Zabbix5.0 2020-06-10
- windows10安装配置WSL(Ubuntu) 2020-06-07
- 在已经编译安装好php7场景下 安装php openssl扩展 2020-06-06
- 在已经编译安装好php7场景下安装curl扩展 2020-06-06
- 在已经编译安装好php7场景下,install gd库 with free-type 2020-06-06
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash