接触机器视觉的学者,难免要安装大名鼎鼎的OpenCV库,而目前Ubuntu + OpenCV 3.0 + Python 2.7+ 又是很普遍的机器视觉选型.
今天我们就手把手讲一下如何在Ubuntu上安装OpenCV 3.0 和 Python 2.7+ .
注意:如果一下一些步骤如果你有信息已经安装过,可以跳过!
步骤1:
打开终端窗口,更新apt-get包管理器,升级所有预安装包:
$ sudo apt-get update $ sudo apt-get upgrade
步骤 2:
安装我们的开发工具和包:
$ sudo apt-get install build-essential cmake git pkg-config
步骤 3:
OpenCV 需要从磁盘中加载不同格式的图片,如
JPEG,TIFF, PNG等等.所以我们需要安装我们的图像I/O工具包:
$ sudo apt-get install libjpeg8-dev libtiff4-dev libjasper-dev libpng12-dev
步骤 4:
另外,OpenCV是用GTK开发包来显示GUI, 即用户图形界面,所以我们要安装这个开发包:
$ sudo apt-get install libgtk2.0-dev
步骤 5:
OpenCV还必须处理视频流和单个帧,下面就是我们需要的安装包:
$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
步骤 6:
OpenCV还包含一些内部优化工具:
$ sudo apt-get install libatlas-base-dev gfortran
步骤 7:
安装python包管理器pip:
$ wget https://bootstrap.pypa.io/get-pip.py $ sudo python get-pip.py
步骤 8:
安装virtualenv和virtualenvwrapper. 用来分割python虚拟环境. 这不是必须的, 但是强烈推荐:
$ sudo pip install virtualenv virtualenvwrapper $ sudo rm -rf ~/.cache/pip
现在我们有了virtualenv和virtualenvwrapper, 我们要更新我们的~/.bashrc 文件:
# virtualenv and virtualenvwrapper export WORKON_HOME=$HOME/.virtualenvs source /usr/local/bin/virtualenvwrapper.sh
为了使~/.bashrc 文件生效 , 你可以用以下这些方法的其中之一(1) 注销后重新登录, (2)关闭终端开一个新终端, (3)直接使得~/.bashrc文件在当前生效:
$ source ~/.bashrc
最后我们生成名字叫cv的虚拟开发环境:
$ mkvirtualenv cv
步骤 9:
安装python开发工具:
$ sudo apt-get install python2.7-dev
按照numpy:
$ pip install numpy
步骤 10:
预备环境终于都搞定啦, 我们进入正题, 按照OpenCV 3.0.0:
$ cd ~ $ git clone https://github.com/Itseez/opencv.git $ cd opencv $ git checkout 3.0.0
你也可以在这里使用3.1.0, 但是别忘了去OpenCV.org 官网看看有什么变动.
有一些牛叉的算法如SIFT, SURF, 等等 在opencv_contrib里面, 所以我们要安装它来支持OpenCV:
$ cd ~ $ git clone https://github.com/Itseez/opencv_contrib.git $ cd opencv_contrib $ git checkout 3.0.0
注意: opencv_contrib和OpenCV版本要一致
是时候build OpenCV辣:
$ cd ~/opencv $ mkdir build $ cd build $ cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_C_EXAMPLES=ON \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \ -D BUILD_EXAMPLES=ON ..
如果要装OpenCV 3.1.0, 你需要设置DINSTALL_C_EXAMPLES=OFF
最后, 编译! :
$ make -j4
这是从网上摘的编译效果图:
编译没问题的话, 就可以安装了:
$ sudo make install $ sudo ldconfig
步骤 11:
如果安装无误, OpenCV现在已经安装在/usr/local/lib/python2.7/site–packages中了. 但是考虑到我们的虚拟环境cv还没有OpenCV, 我们需要建立一个软链:
$ cd ~/.virtualenvs/cv/lib/python2.7/site-packages/ $ ln -s /usr/local/lib/python2.7/site-packages/cv2.so cv2.so
步骤 12:
恭喜 ! 你完成了在Ubuntu上安装OpenCV 3.0 和 Python 2.7+
所有剩下的就是验证一下啦:
$ workon cv $ python >>> import cv2 >>> cv2.__version__ '3.0.0'
步骤 13:
是时候写一段小代码来使用一下OpenCV库了. 我们要写一段代码识别下图games.jpg中红色的游戏卡:
代码如下:
# import the necessary packages import numpy as np import cv2 # load the games image image = cv2.imread("games.jpg") # find the red color game in the image upper = np.array([65, 65, 255]) lower = np.array([0, 0, 200]) mask = cv2.inRange(image, lower, upper) # find contours in the masked image and keep the largest one (_, cnts, _) = cv2.findContours(mask.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) c = max(cnts, key=cv2.contourArea) # approximate the contour peri = cv2.arcLength(c, True) approx = cv2.approxPolyDP(c, 0.05 * peri, True) # draw a green bounding box surrounding the red game cv2.drawContours(image, [approx], -1, (0, 255, 0), 4) cv2.imshow("Image", image) cv2.waitKey(0)
输出如下图:
好了这就搞定啦, 如果喜欢请关注博客并打赏哦~
参考文献:
http://www.pyimagesearch.com/2015/06/22/install-opencv-3-0-and-python-2-7-on-ubuntu/
David 9
Latest posts by David 9 (see all)
- 修订特征已经变得切实可行, “特征矫正工程”是否会成为潮流? - 27 3 月, 2024
- 量子计算系列#2 : 量子机器学习与量子深度学习补充资料,QML,QeML,QaML - 29 2 月, 2024
- “现象意识”#2:用白盒的视角研究意识和大脑,会是什么景象?微意识,主体感,超心智,意识中层理论 - 16 2 月, 2024
因为刚刚开始接触还不太懂,请问一下,按照这个安装完,可以用c++写吗?还是只能使用python?
这个是给python用的库 import cv2
建议第八步,改成 sudo apt-get install python-pip
不知道为什么,你写的那种我运行不了
嗯 可能你的也能运行 我这个是用virtualenv虚拟环境
步骤10的meke -j4,我报错误如下:
make: *** 没有指明目标并且找不到 makefile。 停止。
可能你的运行目录不对?或者没有makefile?
如还有问题请加我个人微信:david9ml