OpenCV是一个基于开源发行的跨平台计算机视觉库,它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。在linux上安装opencv的方法如下:
工具:
Windows7、VMware Workstation 12 Pro、ubuntu-15.10、opencv-3.0.0.zip
步骤:
一、安装关联库
1、安装编译工具:sudo apt-get install build-essential
编译程序有了这个软件,它才知道头文件和库函数在哪,最后才形成一个开发环境。
2、安装 cmake、git、pkg-config等辅助工具:sudo apt-get install cmake git pkg-config libgtk2.0-dev libavcodec-dev libavformat-dev libswscale-dev
3、安装关联库:sudo apt-get install python-dev python-opencv python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
二、编译OpenCV
1、从网上下载OpenCV-3.0.0.zip。下载地址http://opencv.org/downloads.html
2、如果使用虚拟机,最好将OpenCV-3.0.0.zip移动到用户主目录下进行编译,一定不能在虚拟机在Windows系统里的共享文件夹下进行编译,否则会因为文件系统(Windows7的文件系统是NTFS,ubuntu-15.10的文件系统是)不同在编译过程中出错。鄙人在共享文件夹下进行编译,编译进行到%15时报错,我修复后又在编译进行到%21时报错,反正是各种错误,我是没有能力继续修复了......
3、最好将OpenCV-3.0.0.zip移动到用户主目录下进行编译:mv [OpenCV-3.0.0.zip存放路径] ~/opencv_3.0.0.zip、unzip opencv_3.0.0.zip、cd opencv-3.0.0、mkdir release、cd release
4、CMake是一个跨平台的编译工具,想深入学习cmake命令的可以百度一下。
编译命令:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..
5、make命令(-j表示用几个线程来编译,这样可以加快编译速度,不过这个与makefile的质量有关,有的工程用了-j会编译出错):
make -j $(nproc)
上述命令后一般大约要耗时1个小时,甚至更多,视个人电脑硬件配置而定。
执行完以后不要忘了make install:
sudo make install
6、如果编译过程出错后想要重新编译,把release目录下的CMakeCache.txt删除掉即可。
三、设置环境变量
1、添加库路径:sudo /bin/bash -c 'echo "/usr/local/lib" >/etc/ld.so.conf.d/opencv.conf'
2、更新系统库:sudo ldconfig
四、用cmake进行测试
1、DisplayImage.cpp中的源代码:
#include <stdio.h>#include <opencv2/opencv.hpp>
using namespace cv
int main(int argc, char** argv)
{
if ( argc != 2 )
{
printf("[usage]: %s <Image_Path>\n", argv[0])
return -1
}
Mat image
image = imread( argv[1], 1 )
if ( !image.data )
{
printf("No image data!\n")
return -1
}
namedWindow("Display Image", WINDOW_AUTOSIZE )
imshow("Display Image", image)
waitKey(0)
return 0
}
2、CMakeLists.txt中的源代码:
cmake_minimum_required(VERSION 2.8)project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage.cpp )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )
3、编译命令:
cmake .make
运行命令:./DisplayImage 01.jpg
五、用make进行测试
1、opencv_test.cpp中的源代码:
#include "cv.h"#include "highgui.h"
#include <iostream>
using namespace std
#define PICTURE "./01.jpg"
int main(void)
{
IplImage* img = cvLoadImage(PICTURE, 0)
cvNamedWindow( "test", 0 )
cvShowImage("test", img)
cvWaitKey(0)
cvReleaseImage( &img )
cvDestroyWindow( "test" )
return 0
}
2、Makefile中的源代码:
CXX = g++CFLAGS = -Wall
LDFLAGS = `pkg-config --cflags --libs opencv`
SRCS = $(wildcard *.cpp)
TARGETS = $(patsubst %.cpp, %, $(SRCS))
all:$(TARGETS)
$(TARGETS):$(SRCS)
$(CXX) -o $@ $< $(LDFLAGS) $(CFLAGS)
clean:
-rm -rf $(TARGETS) *~ .*swp
.PHONY: clean all
编译命令:
make
运行命令:
./opencv_test
代码写得比较简单,所以显示效果是一张黑白图片。
opencv安装教程python,一起来看看吧:
方法一:进入cmd命令行,直接输入pip install opencv-python 然后回车就可以了
方法二:使用其他下载路径(使用镜像)
指令如下:
1、
pip install opencv-contrib-python
2、清华镜像
pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
可换用其他镜像:
阿里云:http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 华中理工大学:http://pypi.hustunique.com/ 山东理工大学:http://pypi.sdutlinux.org/ 豆瓣:http://pypi.douban.com/simple/
还是报错,再尝试指令:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn opencv-python
遇到权限问题再加user:
pip install --user -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn opencv-python
pkg-config 是一个库文件安装信息管理工具,它可以返回已安装的库文件及其相关头文件的位置信息。安装这个极容易,自己下载安装把。pkg-config 通过各个库文件的.pc 文件识别已安装的库文件的信息,这些.pc文件是由各库的安装程序自己生成的,例如ffmpeg 安装程序会在/usr/local/lib/pkgconfig目录下提供libavcodec.pc libswscale.pc 等5个.pc文件,分别对应安装的五个库文件。
但pkg-confg默认只搜索/usr/lib/pkgconfig目录,去寻找.pc文件,这里需要添加一个环境变量 PKG_CONFIG_PATH=/usr/local/lib/pkgconfig,使得pkg-config可以找到ffmpeg的安装信息。
三 安装cmake
cmake 是一个跨平台makefile生成工具,是编译新版opencv所必须的工具。
直接下载安装cmake到一个合适的位置,并将cmake安装目录下的bin目录加入PATH环境变量,cmake的使用详见下述说明。
四 安装opencv
1、下载最新版opencv源代码 for linux.
2、在源代码目录下 mkdir release &&cd release
3、cmake ../ (重点)
使用cmake 生成编译opecv的Makefile 文件, ../ 是opencv的源代码目录,里面包含了预置的cmake 配置文件CmakeLists.txt。
这里的输出,会显示默认配置下,各模块的检测情况,重点是opencv所需工具库是否被检测到,例如视频编解码库、TBB库等。
查看CmakeLists.txt文件可知,cmake使用pkg-config获取所需的库文件的信息,这就是为什么一定要安装pkg-config的原因。
如果你看到FFMPEG及其下各子项的值为1,ok,检测到了,如果为0,核对1、2两步骤,看是否成功安装了ffmpeg,以及pkg-config是否可以检测到ffmpeg:
使用 pkg-config –list-all | grep libavcodec 。
4、 cmkae-gui ../
若你想改变opencv的默认编译模式,用cmake的图形模式可以编辑一大堆的编译参数,例如是否支持IPP、TBB等等,这里比较讨厌的是,图形模式下,你看不到选择的模块是否被正确检测到,要再运行 cmake ../ 查看。
5、 make &&make install 默认 opencv将被安装在 /usr/local/ 下。
6、 编辑环境变量 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib 以使得系统可以找到opencv的动态链接库。
到这里,opencv安装完毕,并可读写几乎全部常见视频文件,你可以使用g++直接编译你的例程,如果你的pkg-config配置正确,以下指令可以运行 :
g++ -o my_example my_example.cpp `pkg-config opencv --cflags --libs`
pkg-config opencv --cflags –libs 将返回opencv的头文件和库文件的编译参数。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)