opencv学习(3 )-在unbuntu中搭建opencv运行环境

opencv在xocde上虽然可以实现功能,但要满足将之与机器人链接,还不够,Linux下可以很好的满足我们的需求。所以简单记录一下过程。(全过程需联网)

更新Ubuntu系统至最新版

sudo apt-get update  sudo apt-get upgrade

sudo apt-get update

sudo apt-get upgrade

安装必要组件

安装过程参考了很多教程,如下总结截止到2016年9月28日下的(我能够使用的)最新版本:

sudo apt-getinstall build-essentiallibgtk2.0-devlibjpeg-devlibtiff5-devlibjasper-devlibopenexr-devcmake python-devpython-numpypython-tklibtbb-devlibeigen3-devyasm libfaac-devlibopencore-amrnb-devlibopencore-amrwb-devlibtheora-devlibvorbis-devlibxvidcore-devlibx264-devlibqt4-devlibqt4-opengl-devsphinx-commontexlive-latex-extralibv4l-devlibdc1394-22-devlibavcodec-devlibavformat-devlibswscale-devdefault-jdkant libvtk5-qt4-devqt5-default

需要安装的组件较多,有些教程会给出sh脚本一步安装,但是我本人不是很建议。我在安装以上组件中经,常遇到某组件版本较低被强行停止推荐最新版本的情况。比如libtiff4-dev被替换为libtiff5-dev,libeigen2-dev虽然没有提示,但是后期使用出问题,不得不安装了libeigen3-dev。以及qt5-default也是在之后安装出问题后google到的解决方式。我个人建议别怕累,一个一个安装,利于了解问题的出处。

下载opencv

http://opencv.org/downloads.html, 选择Version 3.3.0, OpenCV for Linux/Mac

解压在/home/opencv-3.0.0

编译opencv

在/home/parallels/opencv-3.3.0目录下新建build文件夹,进入此文件夹开始cmake:cmake-DWITH_TBB=ON-DBUILD_NEW_PYTHON_SUPPORT=ON-DWITH_V4L=ON-DINSTALL_C_EXAMPLES=ON-DINSTALL_PYTHON_EXAMPLES=ON-DBUILD_EXAMPLES=ON-DWITH_QT=ON-DWITH_OPENGL=ON-DWITH_VTK=ON..

需要注意的是,这个过程不仅耗时,而且容易出bug。如果中途停止,要仔细检查错误信息,一般错误都来自于之前安装的组件不完整或者不匹配。一般来说重新安装之后就可以正常编译。

另外要观察编译后的结果,要确保FFMPEG没有错误,并且Java, Python, TBB, V4L, OpenGL 和 Qt 被成功检测到(最直观的就是其状态是YES)。

在编译最开始的地方,即OpenCV modules处,提示To be built至少包括以下模块:core flann imgproc highgui features2d calib3d ml video legacy objdetect photo gpu ocl nonfree contrib Java python stitching superres ts videostab viz。顺序可能不同,可能增减。增多没有关系,若有减少,要提前记下,有可能编译虽然成功,但是影响OpenCV之后的正常使用。

安装opencv

在/home/parallels/opencv-3.3.0目录下:

make

sudo make install

此过程非常非常非常缓慢,而且极其容易出错。make过程出的错都是之前步骤没有做好(组件漏安装、组件版本过旧等等等等)。我自己make了三遍,第一遍在56%的地方停住了,然后发现是qt5的问题,第二遍是因为libeigen3,第三遍正常make。install正常。

此过程看人品,我折腾了一个多小时。

配置环境变量

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

在opencv.conf(打开之后是空哒!但是是正确的)里加入如下语句:

/usr/local/lib

之后保存退出。然后配置库文件:

sudo ldconfig(不会在终端里显示变化)

打开另外一个文件:

sudo gedit /etc/bash.bashrc

在文档最下方(fi之后)添加:

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

exportPKG_CONFIG_PATH

之后重启虚拟机,,或者注销再登陆。

测试opencv

在home位置下新建一个opencv_code文件夹专门存放cpp文件。新建空文件,用gedit打开输入测试代码:

#include#includeusing namespace std;

using namespace cv;

int main(int argc,char **argv)

{

VideoCapture capture(0);

namedWindow("hhh",CV_WINDOW_AUTOSIZE);

while(true)

{

Mat frame;

capture>>frame;

imshow("hhh",frame);

waitKey(30);

}

return 0;

}

保存后命名为test.cpp,之后再终端下,进入opencv_code文件夹,输入:“g++ `pkg-config opencv --cflags` test.cpp -o test `pkg-config opencv --libs`”对cpp文件进行编译,生成可执行文件test。再输入“./test”运行(或者直接在文件夹下双击文件运行),如果可以打开摄像头,则大功告成。

发图纪念

在装之前一直担心是否会出现学长说的“用虚拟机会很慢”的情况,不过之后又测试了几个代码,还是可以满足要求的,第一次实实在在地感受到了Mac OX的好。

果然Linux才是opencv的原配

乖宝,要努力!

参考博客:http://blog.csdn.net/PiaoLiangHXD/article/details/52693568

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

推荐阅读更多精彩内容