在mac上编译OpenCV4并导入CLion开发测试

2021-06-24  本文已影响0人  FlyerGo

OpenCV简介

1、什么是OpenCV

OpenCV是一个基于BSD开源许可发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。

总结起来就是OpenCV是计算机视觉中经典的专用库,其支持多语言、跨平台,功能强大且开源免费。

2、OpenCV能干什么

OpenCV提供了许多内置的用于图像处理和计算机视觉相关操作的基础元素,可用作图像处理操作、视频分析、3D重建、特征提取、
目标检测识别、机器学习等各大领域。未来可期...

3、OpenCV的基础架构

openCV架构图

从图中我们可以看出,OpenCV支持多语言,基本的C/C++/Java/Python等都支持了,其中核心模块就是COREimgproc

以下是主要模块的一些说明:

CORE: 核心功能模块,包括基本数据结构,绘图/数组操作相关函数,与openGL的相关互动。

imgproc: 图像处理模块,包含图像滤波,直方图,几何变换,形状描述,运动分析,特征检测等。

Object Detection: 目标检测模块

Features2d: 即2d功能框架,特征检测和描述等。

Calib3d Stereo: 主要是相机校准和三维重构的内容。

HighGUI: 高层GUI图形用户界面,包括媒体、视频、图形交互界面的接口。 OpenCV本身不是一个GUI框架,提供了GUI功能主要是为了方便开发测试

User Contrib: 新增的一些技术模块,还没集成到release版的一些新功能,如立体匹配等功能。

安装cmake

到CMAKE官网https://cmake.org/下载相应的版本安装即可。

因为笔者使用的是命令行,而非GUI的方式进行编译,所以还需要配置一下环境变量:

# 打开CMake Toos->How to Install For command line use 里面提供了多种配置的方式
# 例如笔者选择的是以下这种
sudo "/Applications/CMake.app/Contents/bin/cmake-gui" --install

下载OpenCV

笔者使用的是最新的OpenCV库,版本是4.5.2,同时也下载了opencv_contrib-4.5.2

opencv的仓库地址:https://github.com/opencv/opencv
opencv_contrib的仓库地址:https://github.com/opencv/opencv_contrib

分别将opencvopencv_contrib下载解压到同一个目录下。

编译OpenCV

下载解压完成后,分步执行以下命令即可:

opencv-4.5.2
mkdir build
cd build
rm ../CMakeCache.txt
# CMAKE_BUILD_TYPE=RELEASE 编译模式
# INSTALL_C_EXAMPLES 是否安装C examples 默认off 
# BUILD_EXAMPLES  是否Build all examples, 默认为off
# CMAKE_INSTALL_PREFIX 安装路径
# OPENCV_GENERATE_PKGCONFIG 生成opencv.pc文件
# 注意路径
cmake .. -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=opencv的绝对路径/build  -D OPENCV_GENERATE_PKGCONFIG=ON -D INSTALL_C_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D OPENCV_EXTRA_MODULES_PATH=opencv_contrib的绝对路径/modules

# 使用4个内核安装
make -j4

make install

导入CLion测试

这里笔者使用的IDE是Mac版的CLion。

为了测试OpenCV编译出来后能否正常使用,我们简单地读取一张图片,然后显示出来即可。

main.cpp:

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

using namespace cv;

int main() {
    std::cout << "Welcome to OpenCV " << CV_VERSION << std::endl;
    // 读取图片
    cv::Mat mat = imread("test.png");
    // 显示图片
    imshow("Test",mat);
    // 等待窗口,否则无法看到窗口
    waitKey(0);
    return 0;
}

然后配置一下CMakeLists.txt:

cmake_minimum_required(VERSION 3.17)
project(OpenCVTest)

# 配置头文件
set(OpenCV_DIR 这里填入OpenCV的build目录)
find_package(OpenCV REQUIRED)

set(CMAKE_CXX_STANDARD 14)

add_executable(OpenCVTest main.cpp)

# 库链接
target_link_libraries(OpenCVTest ${OpenCV_LIBS})

运行起来,如无异常,我们就会看到一个显示一张图片的Test窗口,说明我们的OpenCV开发环境已经搭建成功了。

结语

其实更加便捷的安装openCV的开发环境可以使用mac下包管理工具brew一键安装即可。笔者在这里选择比较麻烦的手动编译安装主要是为了动手实践而已...

关注我,一起进步,人生不止coding!!!

上一篇 下一篇

猜你喜欢

热点阅读