-
从 OpenCV3.4.6 点击 Sources 开始下载
opencv
源码:opencv-3.4.6.zip
,下载完成后解压缩$ unzip PATH/opencv-3.4.6
-
安装
cmake
$ sudo apt update $ sudo apt install cmake
-
安装
opencv
依赖# 同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中源的索引 $ sudo apt update # 安装 opencv 依赖包 $ sudo apt install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev
-
如果安装
opencv
依赖时 提示E: Unable to locate package ……
错误,即 Ubuntu 无法定位某个安装包,使用以下命令解决。sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main" sudo apt update sudo apt install libjasper1 libjasper-dev
2. 编译 opencv
-
创建编译文件夹:进入
opencv-3.4.6
解压缩后的目录,创建编译目录$ cd PATH/opencv-3.4.6 $ mkdir opencv_build $ cd opencv_build
-
工程构建:在
build
目录下使用cmake
执行以下命令进行工程构建$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
工程构建成功将会有以下输出:
-
执行
sudo make
,开始编译opencv-3.4.6
,编译时间很长,需要耐心等待,开始编译后命令行输出如下图
-
编译完成后,将
opencv
安装到 Ubuntu 操作系统中,执行sudo make install
,安装完成后命令行输出如下图。可以看到opencv
已经安装到/usr/local/lib
中
3. 相关配置
-
opencv 配置文件
- 打开 opencv 配置文件:
sudo vim /etc/ld.so.conf.d/opencv.conf
- 文件末尾添加:
/usr/local/lib
- 关闭配置文件,并执行
sudo ldconfig
使新的更改生效
- 打开 opencv 配置文件:
-
环境变量配置:
-
打开环境变量配置文件:
sudo vim /etc/bash.bashrc
-
文件末尾添加:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH
-
关闭环境变量配置文件,并执行
source /etc/bash.bashrc
使新的更改生效
-
4. 测试
写一个简单的测试程序测试 opencv 是否安装成功。
4.1 编写测试代码
新建一个测试工程,如 test_opencv,编写 display_image.cpp 文件如下:
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
using namespace cv;
int main( int argc, char** argv )
{
cv::Mat image;
image = cv::imread( argv[1], 1 );
if( argc != 2 || !image.data )
{
printf( "No image data \n" );
return -1;
}
cv::namedWindow( "Display Image", CV_WINDOW_AUTOSIZE );
cv::imshow( "Display Image", image );
cv::waitKey(0);
return 0;
}
4.2 CMakeLists.txt 文件
编写 CMakeLists.txt 文件如下:
cmake_minimum_required(VERSION 3.10)
project(display_image)
set(CMAKE_CXX_STANDARD 11)
find_package(OpenCV)
add_executable(display_image display_image.cpp)
target_link_libraries(display_image ${OpenCV_LIBS})
4.3 编译运行
在测试工程目录下打开终端,依次运行如下命令:
$ cmake .
$ make
$ ./display_image 图片路径
最终显示结果如下,opencv
安装成功!
5. QT + OpenCV
-
在 QT 中创建项目:
File
->New File or Project...
->Non-Qt project
->Plain C++ application
-
在新建项目的
.proj
文件中添加以下内容:INCLUDEPATH += /usr/local/include \ /usr/local/include/opencv \ /usr/local/include/opencv2 LIBS += /usr/local/lib/libopencv_highgui.so \ /usr/local/lib/libopencv_core.so \ /usr/local/lib/libopencv_imgproc.so \ /usr/local/lib/libopencv_imgcodecs.so
-
在
main.cpp
文件中编辑以下代码:#include <iostream> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/opencv.hpp> using namespace std; using namespace cv; int main() { cv::Mat ship = cv::imread("ship.jpg"); cv::imshow("ship", ship); cv::waitKey(0); return 0; }
-
运行以上代码后显示图片如下: