OpenCV4.0安装指南
目录
Windows10环境
1.安装VS2019
由于windows环境下面配置Cmake比较复杂因此大多数选择使用VS2019
前往Visual Studio官网下载安装包选则下面的社区版
下载完成后双击开始安装,这里为了节省内存空间只安装与C++有关的几个组件,
注意: VS2019安装时会在D盘缓存安装时的文件,这些文件存储在下图红色框的目录下面,请不要将其删除,不然下次VS2019在更新和安装一些有用的插件将会出现错误.
勾选C++桌面应用开发,点击下载并安装
至此IDE的安装完成
2. OpenCV配置
- 首先下载Windows版本的OpenCV官网点击下载4.0以上的Windows版本进行下载.
- 下载后双击文件开始进行解压缩, 这是笔者的安装目录D:\Program Files\opencv
- 配置环境变量
选择桌面上此电脑右键选择属性, 按照下面图片中的步骤打开环境变量配置窗口
4.打开VS2019, 新建一个工程选择控制台应用程序
修改Debug位数(OpenCV只能使用64位的编译器)
选中工程名称右键选择属性查看头文件头文件,以及库文件目录
这里为了永久配置OpenCV头文件和库文件目录,简便方法就是将其拷贝到VS2019默认的头文件目录下面
查看头文件目录选择第一个目录作为拷贝的目标目录
D:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.24.28314\include
这时将OpenCV目录下的opencv2拷贝到上述目录下面
查看库文件目录选择第一个目录作为拷贝的目标目录D:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.24.28314\lib\x64
这时将OpenCV目录下的lib中的库文件拷贝到上述目录下面
至此我们完成头文件与库文件的包含,以后再新建工程的时候将会默认将opencv的头文件和库文件包含进来,可以直接使用.
为了通过编译我们还需要将工程文件和库文件链接起来.
选中工程右键属性按照下述图片选择链接器将OpenCV的库文件链接进来
注意:后缀带有d的位Debug模式下的库文件,不带有d的是Release模型下需要的库文件
3.代码测试
在刚刚建立起来的工程文件中编写如下代码
#include <iostream>
#include <opencv2/highgui/highgui.hpp>
int main()
{
Mat image;
image = imread("beach.jpg", IMREAD_COLOR); // 读入RGB图像
if (image.empty())
{
std::cout << "can not find this image" << std::endl;
return -1;
}
imshow("image", image);
waitKey(0);
return 0;
}
在工程目录下面添加一幅图像,并将图像名称添加到imread()函数中替换成你自己的图像名称.编译程序,运行.如果顺利的话图像就会显示到你的屏幕上.
Ubuntu18.04环境
1. 首先配置所需要的依赖库
Ctrl + Alt + T 打开终端通过install安装如下依赖库
sudo apt-get install build-essential libgtk2.0-dev libvtk5-dev libjpeg-dev libtiff4-dev libjasper-dev libopenexr-dev libtbb-dev
2.下载安装包
前往OpenCV官网下载linux版本的安装包点击
Sources选择4.0版本以上的版本进行下载
若官网的下载速度较慢,可以到笔者的网盘中下载
链接:https://pan.baidu.com/s/1MxeJ7jeK40GXsoVO4kK4ag
提取码:ygfb
3.进入下载好的目录
打开终端进入当前目录依次输入如下命令
cd opencv-4.0.0
mkdir build
cd build
cmake ..
make -j4
sudo make install
至此已经完成了OpenCV的安装
4.测试
mkdir test_OpenCV
cd test_OpenCV
gedit image.cpp
输入如下代码:
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv )
{
if ( argc != 2 )
{
std::cout << "usage: image.out <image_Path>" << std::endl;
return -1;
}
Mat image;
image = imread( argv[1], IMREAD_COLOR );
if ( !image.data )
{
std::cout << "can not find image!!!!" << std::endl;
return -1;
}
namedWindow("Display Image", WINDOW_AUTOSIZE );
imshow("Display Image", image);
waitKey(0);
return 0;
}
创建Cmake编译文件
gedit CMakeLists.txt
输入如下内容:
cmake_minimum_required(VERSION 2.8)
project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage image.cpp )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )
编译
cmake .
make
运行
此时opencv-test文件夹中已经产生了可执行文件DisplayImage, 随便找一张图片放在这个文件中用于演示,以假设图像名为beach.jpg运行
./DisplayImage beach.jpg
结果
将会在屏幕上面显示刚刚放在目录下面的图像,表示使用成功.