Ubuntu安装Opencv 3.4.0及Cmakelist.txt配置

  近期Mr.Xi要开始“C++从入门到精通"之旅了,作为一个python用户,前面学了无数次都没学好,这次我相信一定能够学有所成!那么今天从opencv的安装以及Cmakelist.txt的编写开始学起。

Opencv3.4.0 ubuntu安装

  • 压缩包下载
wget https://github.com/opencv/opencv/archive/3.4.0.zip
  • 解压缩
unzip 3.4.0.zip
cd opencv-3.4.0
  • 安装依赖库和cmake
sudo apt-get install update
apt-get install cmake
apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev  
  • 建立build文件夹
mkdir build && cd build
  • Cmake
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

  CMAKE_BUILD_TYPE是指编译的模式,可以选Debug或者Release, CMAKE_INSTALL_PREFIX是指Cmake的安装地址。下图是Cmake成功的界面。


  • make
      这时build文件夹里应该出现了makefile文件,下面执行编译命令(这一段时间很长):
sudo make

  • 安装
sudo make install
  • 安装完成以后,需要配置环境变量
sudo gedit /etc/ld.so.conf.d/opencv.conf 

  打开以后应该是个空白文件,直接添加

/usr/local/lib  
  • 使配置路径生效
sudo ldconfig  
  • 配置bash
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 
  • 测试是否安装成功
cd opencv-3.4.0/samples/cpp/example_cmake  #opencv官方例子
cmake .
make
./opencv_example

  若成功安装,屏幕右下角将出现hello opencv的摄像头
  查看opencv版本

pkg-config opencv --modversion
  • 卸载opencv

  如果想要把之前版本的opencv卸载干净,并安装新的版本的opencv

  1. 删除build文件夹
cd XXXXX/opencv/build  #进入opencv build目录
sudo make uninstall
cd  ..
sudo rm -r build

2.删除/usr中的opencv相关项

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*
cd /usr
find . -name "*opencv*" | xargs sudo rm -rf

cd /home/***   #切换到opencv路径
chmod a+x /home/***/opencv  #赋予opencv可执行权限
rm -r /home/***/opencv  #删除Opencv文件夹

  至此Opencv安装以及卸载部分已经介绍完了。

Opencv项目Cmakelist.txt的配置

cmake_minimum_required(VERSION 2.8)
project(xi)
find_package( OpenCV 3 REQUIRED )
set(CMAKE_CXX_STANDARD 14)
include_directories(${OpenCV_INCLUDE_DIRS})
add_executable(xi main.cpp)
target_link_libraries(xi ${OpenCV_LIBS})

  如果不配置好Cmakelist,那么在编辑器内是找不到opencv库的。下面以此介绍各行的用途:

  • cmake_minimum_required(VERSION 2.8)规定了系统所需最低版本的cmake
  • project(XXX)是项目的名字
  • find_package( OpenCV 3 REQUIRED )用来在系统里寻找Opencv包,找到以后赋予 ${OpenCV_INCLUDE_DIRS}及{OpenCV_LIBS}相应的值。
  • set是赋值的指令,这里是指定C++版本为14
  • include_directories(${OpenCV_INCLUDE_DIRS}) 这里是添加opencv的头文件
  • add_executable(xi main.cpp) 用来指定哪些cpp用来生成最终的可执行文件
  • target_link_libraries(xi ${OpenCV_LIBS}) 用来链接导入库,用在add_executable以后。

Cmakelist的详细语法可以参照链接

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,723评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,080评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,604评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,440评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,431评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,499评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,893评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,541评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,751评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,547评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,619评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,320评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,890评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,896评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,137评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,796评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,335评论 2 342

推荐阅读更多精彩内容

  • 今天,有个供应商(算老熟人老朋友了),他问我:是什么驱使你付费学理财? 其实, 是什么原因学,我在简书写的第一篇文...
    你的日月星辰阅读 597评论 4 28
  • 重启每日复盘 日更第一天 【每日一账】 【日习】 1,学习了python的第一课。准备了python第一堂课的笔记...
    小灵仙子阅读 110评论 0 1
  • 从码农到高级工程师:尚学堂1810期大数据全套视频教程全新上线 大数据时代,掌握核心竞争力,月薪翻番,实现职场晋升...
    珂珂教你学编程阅读 132评论 0 1
  • 每个人都是座孤岛 每个人都曾孤独过 我们每天都与它相伴 当亲人,朋友离你而去时 只留下你一个人伫立在那儿 心里的波...
    昆悠阅读 166评论 0 4
  • 牵引力教育我在牵引力经历了什么 在写学员培训心得时,可以说是思绪万千,因为在牵引力三个多月了,回忆这段时间发生的事...
    何小小姐阅读 158评论 0 0