实现Ubuntu14.04下的OpenCV 2.4.8和OpenCV 3.3.1多版本共存,可以采用以下方法:
环境要求
- Ubuntu14.04
- 已经安装OpenCV 2.4.8
- 已经安装OpenCV 3.3.1(如果需要安装的话)
步骤
1.安装依赖库
sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config problem-report xorg-dev libboost-all-dev libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
2.下载OpenCV3.3.1源码
git clone https://github.com/opencv/opencv.git
cd opencv
git checkout 3.3.1
3.创建OpenCV3.3.1的构建目录
mkdir build3 && cd build3
4.使用CMake生成Makefile
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3.3.1 -D BUILD_SHARED_LIBS=ON ..
说明:
-D
指定一个参数,这里有几个参数的含义:CMAKE_BUILD_TYPE
: 指定编译方式,常规有Debug和ReleaseCMAKE_INSTALL_PREFIX
: 指定安装目录BUILD_SHARED_LIBS
: 指定是否编译动态库
5.进行安装
make -j4
sudo make install
6.重命名原来的OpenCV2.4.8库
cd /usr/local/
sudo mv opencv opencv2.4.8
7.修改OpenCV 3.3.1配置文件
sudo ln -s /usr/local/opencv3.3.1/include/opencv4 /usr/local/include/
sudo ln -s /usr/local/opencv3.3.1/lib/pkgconfig/opencv4.pc /usr/local/lib/pkgconfig/
sudo ln -s /usr/local/opencv3.3.1/share/OpenCV/ /usr/local/share/OpenCV
sudo ln -s /usr/local/opencv3.3.1/bin/opencv* /usr/local/bin/
8.编译测试代码
cd ~
mkdir test
cd test
vim test.cpp
test.cpp
内容为:
#include <iostream>
#include <opencv2/opencv.hpp>
int main(int argc, char* argv[])
{
std::cout << "OpenCV version " << CV_MAJOR_VERSION << "." << CV_MINOR_VERSION << "." << CV_SUBMINOR_VERSION << std::endl;
cv::Mat img;
img = cv::imread("example.jpg");
cv::imshow("image", img);
cv::waitKey(0);
return 0;
}
9.编译可执行文件
g++ -o test test.cpp -std=c++11 `pkg-config opencv4 --libs --cflags`
10.执行可执行文件
./test
如果能够正常显示图片,则说明OpenCV 3.3.1已经成功安装。如果需要使用OpenCV 2.4.8,只需要把命令行中的opencv4改成opencv即可。
示例说明
示例一:使用OpenCV 2.4.8
如果想要使用OpenCV 2.4.8,在第5步之前,按照以下步骤进行:
1.重命名原来的OpenCV 3.3.1库
cd /usr/local/
sudo mv opencv opencv3.3.1
2.重命名OpenCV 2.4.8库
sudo mv opencv2.4.8 opencv
示例二:使用OpenCV 3.3.1
如果想要使用OpenCV 3.3.1,按照正常步骤安装即可。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Ubuntu14.04 opencv2.4.8和opencv3.3.1多版本共存的实现方法 - Python技术站