Ubuntu14.04安装Opencv3.4.0


详细操作步骤可参见官网 Installation in Linux

1.下载源码

官网下载 https://opencv.org/releases.html
这里下载的是opencv3.4.0的版本
这里我下载的是opencv3.4.0的版本。

2.安装packages

[compiler] sudo apt-get install build-essential
[required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
[optional] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

因为第一次接触和安装opencv,怕安装过程有什么闪失,我把上面可选项也全部安装了。

3.安装opencv

先解压源码zip

sudo unzip opencv-3.4.0.zip

进入解压后的文件路径中,创建一个build目录

sudo mkdir build
cd build

这个目录是创建在解压后的文件路径里的,我之前把目录创建在其他位置,cmake的时候一直报错找不到CMakeLists.txt
接下来进行配置

cmake [<some optional parameters>] <path to the OpenCV source directory>

官网给出的指导是

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local …

这里的 /usr/local 根据自己的源码路径进行修改,命令的最后面还有两个点,我之前忘记加上,一直报错,找了好久没找出原因
实际操作的时候在 -D 附近有报错,后面发现文档下方有提示…

Note
Use cmake -DCMAKE_BUILD_TYPE=Release
-DCMAKE_INSTALL_PREFIX=/usr/local … , without spaces after -D if the above example doesn’t work.

cmake后面可跟多个 -D ,用来指定模块的路径的,比如
PYTHON_INCLUDE_DIR = /usr/include/python<version> 指定了python的头文件路径
接下来还是在这个build路径下,make:

make -j7

执行安装命令:

sudo make install

到这里算是安装完了。

但是试运行demo的时候出了点问题。

4.教程里的一个例子

例子查看这里,在工作目录下创建一个img1.cpp文件:

//img.cpp
#include <iostream>
#include <opencv2/opencv.hpp>

using namespace cv;
using namespace std;

int main() {
	//string filepath = "169.png";
	Mat img = imread("169.png", 1);

	if (!img.data){
		cout << "No image data.." << endl;
	}

	imshow("Display", img);
	waitKey(0);
	cout << "Hello world " << endl;
	
	return 0;
}

在同一个目录下创建CMakeLists.txt文件:

cmake_minimum_required(VERSION 2.8)
project( img1 )
find_package( OpenCV REQUIRED )
include_directories( ${OpenCV_INCLUDE_DIRS} )
add_executable( img1 DisplayImage.cpp )
target_link_libraries( img1 ${OpenCV_LIBS} )

然后在工作目录下执行

cmake .

这时候报了如下错误:
Could not find a package configuration file provided by “OpenCV” with any of the following names:
  OpenCVConfig.cmake
  opencv-config.cmake
Add the installation prefix of “OpenCV” to CMAKE_PREFIX_PATH or set
“OpenCV_DIR” to a directory containing one of the above files. If “OpenCV”
provides a separate development package or SDK, be sure it has been
installed.

– Configuring incomplete, errors occurred!

大意就是没有找到FindOpenCV.cmake这个文件,然后尝试去找OpenCVConfig.cmake和opencv-config.cmake,也没有找到。
我自己在系统根目录下也没有找到,不知道是哪里安装出了错误。但是我在opencv3.4.0的build目录下找到OpenCVConfig.cmake,所以对img的CMakeLists.txt做了如下修改:

cmake_minimum_required(VERSION 2.8)
project(img1)
set(OpenCV_DIR /home/rrakes/something/opencv/opencv-3.4.0/build) #新增了这一句
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
add_executable(img1 img1.cpp)
target_link_libraries(img1 ${OpenCV_LIBS})

再一次进行cmake之前要删除已经生成的CmakeCache.txt和CMakeFiles文件夹

cmake .
make

然后执行

./img1

结果如下:

图片有点大把整个屏幕都霸了…不过也算是输出了 ヾ(≧∇≦*)ゝ

猜你喜欢

转载自blog.csdn.net/wenrui7868/article/details/86182825