OpenCV编译、安装、测试

简介

OpenCV,英文全称Open Source Computer Vision Library。opencv是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法
官方主页:http://opencv.org/

安装包

下载链接:http://opencv.org/downloads.html
安装包:opencv-2.4.10.zip
请不要下载opencv2.3.1, 会报ffmpeg的错误。 另外, 最新版的opencv3 和opencv2 架构不同。 如果大家用opencv2用的顺手, 先不要升级opencv3了。

安装

安装编译opencv的依赖包

sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg62-dev libtiff5 libtiff5-dev cmake cmake-gui libswscale-dev libjasper-dev

配置opencv,在这里使用cmake-gui进行配置,使用cmake直接配置会报错,后面会介绍。

cd opencv_dir 
mkdir build
cd build 
cmake-gui .. 

出现下面的界面,更改设置,把WITH-CUDA和BUILD_opencv_gpu选项去掉打钩,然后依次点Configure和Generate按钮生成Configure文件。
cmake
编译安装,这样就安装成功了。

make
sudo make install

环境变量

安装成功后还需要设置opencv的环境变量
打开文件

sudo gedit /etc/profile ##个人比较喜欢把环境变量放在/etc/profile里面,'~/.bashrc'一样

在文件最后添加

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

执行下列命令, 使环境变量立即生效

source /etc/profile

lib库路径

打开文件

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

一般是新建文件,opencv的库一般安装在’/usr/local/lib’文件夹下,在文件内添加

/usr/local/lib

执行下列命令使之立刻生效

sudo ldconfig

经过上面的流程,这样就可以在eclipse里或者qtcreator里用opencv了。 不过要配置号相应的路径和lib文件。

示例代码

对opencv的sample进行编译并运行

cd opencv_dir/samples/c
./build_all.sh
./facedetect --cascade="/usr/local/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml" --scale=1.5 lena.jpg 

运行结果
结果
lena

python使用opencv

如果想在python中使用opencv的话,这里使用的是python虚拟环境(http://blog.csdn.net/honyniu/article/details/46382929),只需要把opencv编译的cv2.so和原始的cv.py拷贝到python的site-packages路径下面

cp opencv_dir/build/lib/cv2.so ENV/lib/python2.7/site-packages/
cp opencv_dir/modules/python/src2/cv.py ENV/lib/python2.7/site-packages/

简单的改变图片大小并保存的python代码

import cv2 as cv
im = cv.imread(IMAGE_FILE)   #IMAGE_FILE图片路径
im = cv.resize(im, (500, 500))
cv.imwrite(IMAGE_FILE_CP, im)   #IMAGE_FILE_CP保存图片路径

出错

就像上面说的如果使用cmake直接进行配置,执行make编译会出现’nvcc fatal : Unsupported gpu architecture ‘compute_11’的错误,主要是cmake配置默认会把gpu和cuda选项选择上,但好像在这里的环境下opencv编译gpu和cuda一直不成功(当然也有人成功,不知道为什么),所以使用cmake-gui命令选择不安装gpu和cuda。不安装gpu和cuda对后面的工作也没有影响。
出错

找不到cv2.so

要编译opencv_python,需要依赖numpy库,必须保证在编译opencv的时候配置文件识别到要使用的python的numpy库,如下图,可以出现BUILD_opencv_python和PYTHON_NUMPY_INCLUDER_DIR选项(这是自动识别出来的,你要系统默认的python库中安装了numpy就可以了),这样就能正常的编译出cv2.so。如果不能正确的找到numpy库,需要先安装好numpy,否则编译不出来cv2.so。
cv2.so

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值