OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库。它提供了广泛的算法和工具,用于图像处理、视频分析、特征检测、对象识别、深度学习等任务。OpenCV 被广泛应用于学术研究、工业界和开源项目中,支持多种编程语言和平台。
主要特点
-
丰富的图像处理功能 :
- OpenCV 提供了丰富的图像处理函数,包括滤波、变换、几何变换、颜色空间转换等。
- 支持多种图像格式,包括 JPEG、PNG、BMP 等。
-
视频分析 :
- 提供了视频读取和写入功能,支持实时视频流处理。
- 包含运动检测、背景减除、光流估计等高级视频分析算法。
-
特征检测和描述 :
- 实现了多种特征检测算法,如 SIFT、SURF、ORB、FAST 等。
- 提供了特征匹配和描述子提取功能,支持大规模特征匹配和对象识别。
-
对象检测和识别 :
- 包含 Haar 分类器、LBP 分类器、HOG + SVM 等对象检测算法。
- 支持深度学习模型,如 TensorFlow、PyTorch、Caffe 等,用于对象检测和识别。
-
机器学习 :
- 提供了多种机器学习算法,包括决策树、随机森林、K- 均值聚类、支持向量机(SVM)等。
- 支持训练和预测功能,适用于分类、回归和聚类任务。
-
跨平台支持 :
- OpenCV 支持多种操作系统,包括 Windows、Linux、macOS、Android 和 iOS。
- 提供了多种编程语言接口,包括 C++、Python、Java 和 MATLAB。
-
高性能 :
- 优化了核心算法,利用 SIMD 指令集(如 SSE、AVX)和多线程技术提高性能。
- 支持 GPU 加速,利用 CUDA 和 OpenCL 进行高性能计算。
注意:如果你现在编译源码的盘不是 NTFS 的格式,可能会遇到 ade 解压的问题,还好我有个 NTFS 的 U 盘:》
- 下载 opencv 的源码 https://opencv.org/releases/
- 解压到目录 G:\opencv-4.10.0
- 打开 cmd,进入目录 G:\opencv-4.10.0,然后创建一个 build 目录,进入 build 目录
- 输入 cmake ../ –install-prefix=G:/opencv-4.10.0/opencv-lib -DBUILD_JAVA=OFF -DBUILD_FAT_JAVA_LIB=OFF -G “Visual Studio 17 2022” -A x64 -DOPENCV_ENABLE_NONFREE=OFF -DOPENCV_FORCE_3RDPARTY_BUILD=OFF -DWITH_FFMPEG=OFF -DWITH_VTK=OFF -DBUILD_opencv_python3=OFF -DBUILD_opencv_python2=OFF -DHAVE_OPENVINO=OFF -DWITH_IPP=OFF -DWITH_OPENMP=OFF -DWITH_LAPACK=OFF
说明:具体启动哪些选项,要根据自己的需求来定,主要要保证依赖库是存在的
5. 查看生成的目录的项目文件
6. 打开 vs2022 开始编译,这里等 30 分钟:),U 盘的速度很感人。
7. 30 分钟后并没有出正确的结果,有 N 多错误,o(*~︶~*)o
#if (SIZEOF_SIZE_T == 8)
,这个问题是 SIZEOF_SIZE_T 没有被定义(牵涉到多个生成的 **config**.h 文件,假定 X64 平台),
在这个文件向上找到 #define SIZEOF_SIZE_T
把 #define SIZEOF_SIZE_T 改成 #define SIZEOF_SIZE_T 8
8. 改完收工,等下个 30 分钟,o(*~︶~*)o, 后面还有各种 config.h 的类型预定义的问题(类似只有 #define TIFF_INT64_T
),修改并加钟
9.Ok,Several hours later, BUILD OVER.