OpenCV简介
1、什么是OpenCV
OpenCV是一个基于BSD开源许可发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。
总结起来就是OpenCV是计算机视觉中经典的专用库,其支持多语言、跨平台,功能强大且开源免费。
2、OpenCV能干什么
OpenCV提供了许多内置的用于图像处理和计算机视觉相关操作的基础元素,可用作图像处理操作、视频分析、3D重建、特征提取、
目标检测识别、机器学习等各大领域。未来可期...
3、OpenCV的基础架构
openCV架构图从图中我们可以看出,OpenCV支持多语言,基本的C/C++/Java/Python等都支持了,其中核心模块就是CORE
和imgproc
。
以下是主要模块的一些说明:
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
分别将opencv
和opencv_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!!!
网友评论