opencv_contrib模块安装与概述
文章目录
- 安装
- 下载
- 概述
- aruco :增强现实
- bgsegm:背景分割
- bioinspired:生物视觉
- ccalib:自定义标定
- cnn_3dobj :CNN物体识别和姿态估计
- cvv:计算机视觉调试的交互GUI
- datasets:数据集读取器
- dnn_objdetect: CNNs 的物体检测模型
- dnns_easily_fooled:欺骗CNN
- dpm:可变型部件模型
- face:人脸识别
- fuzzy:视觉的模糊逻辑
- freetype:写字
- hdf:hdf存储
- line_descriptor:线条匹配与提取
- matlab
- optflow:光流
- ovis:3D可视化
- plot:画图
- reg:图像注册
- rgbd:RGB-Depth处理模块
- saliency:显著性
- sfm:2D到3D的算法
- stereo:立体匹配
- structured_light:结构光
- surface_matching:平面匹配
- text:文字识别
- tracking:目标跟踪
- xfeatures2d: 2d特征算法
- ximgproc:扩展的图像处理
- xobjdetect:增强的2d物体检测
- xphoto:额外的照片处理
安装
- 背景交代: Ubuntu18.04 +OpenCV4.0.1+ opencv_contrib-4.0.1
下载
- opencv-4.0.1
- opencv_contrib-4.0.1
- ippicv_2019_lnx_intel64_general_20180723.tgz (很慢,估计十几分钟,可以在csdn搜索,我上传百度云了)
- face_landmark_model.dat (很慢,可以在csdn搜索,我上传百度云了)
- 将ippicv_2019_lnx_intel64_general_20180723.tgz 和face_landmark_model.dat 下载好,用vim将源码中3rdparty/ippicv/ippicv.cmake打开,将47行的
"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/"
修改为"file:///home/xxx/Downloads/"
注意路径修改成自己的;将opencv_contrib-4.0.1中的modules/face/CMakeLists.txt用vim打开,将19行和上面一样改成file:///home/xxx/Downloads/
,路径都是下载上面两个文件的路径。因为cmake过程中会在github官网上下载第三方库,上面两个很慢,经常下载超时,所以手动下载比较好,其他还有几个文件,cmake用的时间不多,不用手动下载了。
- 打开cmake-gui ,将源码路径和build的操作路径添加进去 ,点击configure ,默认即可。
- 在Search中输入extr找到,OPENCV_EXTRA_MODULES_PATH ,点击value后面将opencv_contrib里面的modules路径加进来,如图:在点击configure,没有错误即可,有错误继续解决。
4. 在Seach中搜索 free, 搜到结果后面打钩,涉及到专利问题,否则在使用xfeature2d.create的时候报错。
- 点击Generate ,会有 Generate done的字样
- 进入 build目录,make -j8 , sudo make install ,最后include目录在/usr/local/include/opencv4下,库目录在/usr/local/lib下
- 测试代码
工程结构:
#include <iostream>
#include <vector>
#include <opencv2/xfeatures2d.hpp>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int main()
{
Mat img = imread("../res/1.png",cv::IMREAD_COLOR);
Ptr<Feature2D> sift = xfeatures2d::SIFT::create();
vector<cv::KeyPoint> keypoints;
Mat descriptors;
sift->detectAndCompute(img, cv::noArray(),keypoints, descriptors);
cv::drawKeypoints(img,keypoints,descriptors,cv::Scalar(0, 255, 255));
imshow("Result", descriptors);
waitKey();
return 0;
}
CMakeLists.txt
cmake_minimum_required(VERSION 3.5)
project(my_test)
set(CMAKE_CXX_FLAGS "-std=c++11")
find_package(OpenCV REQUIRED)
include_directories(include)
aux_source_directory(src DIR_SRCS)
add_executable(my_test ${ DIR_SRCS})
target_link_libraries(my_test ${ OpenCV_LIBS})
概述
aruco :增强现实
bgsegm:背景分割
- 背景分割算法包括:统计背景图估计、像素级贝叶斯分割
bioinspired:生物视觉
- 基于生物视觉模型:最小化噪声、亮度变化、瞬间事件分割、高动态范围色调映射方法
ccalib:自定义标定
- 三维重建、全方向的相机标定、随机模式标定、多相机标定
cnn_3dobj :CNN物体识别和姿态估计
- 基于Caffe深度学习框架,训练、检测物体识别和姿态的CNN模型
cvv:计算机视觉调试的交互GUI
- 可以添加其中代码,可以在调试的时候弹出窗口进行交互,方便调试使用
datasets:数据集读取器
- 可以用来读取现在存在的计算机视觉的数据集,也有一些案例:使用这里面的代码去读取、测试、训练
dnn_objdetect: CNNs 的物体检测模型
- 使用简洁的CNN模型进行物体检测,使用caffe进行训练,但是使用 opencv_dnn模型进行识别
dnns_easily_fooled:欺骗CNN
- 使用网络中的激活,去使得CNN网络识别其他物体
dpm:可变型部件模型
- 一种目标检测的方法
face:人脸识别
- 人脸识别的一些方法:Eigen, Fisher and LBPH(Local Binary Pattern Histograms)
fuzzy:视觉的模糊逻辑
- 模糊逻辑图像变换、逆;模糊逻辑图像的处理
freetype:写字
- 使用freetype and harfbuzz库在图片写字
hdf:hdf存储
- 这个模块包含 I/O程序 对大量数据的存储
line_descriptor:线条匹配与提取
- 基于二进制描述子的一些方法用来提取、描述、封闭图片中线条的的部分
matlab
- MATLAB借口
optflow:光流
- 一些运行和估计光流的算法,光流包括 deepflow、simpleflow、sparsetodenseflow、sihouette flow等
ovis:3D可视化
- 使用OGRE 3D引擎去可视化3D数据
plot:画图
- 简单绘制1维和2维的图
reg:图像注册
- 像素级的图像注册-为了精准的对齐,基于论文的实现:“Image Alignment and Stitching: A Tutorial”, by Richard Szeliski.
rgbd:RGB-Depth处理模块
- Linemod 3D物体识别,快速3D表面法线和3D平面查找、3D视觉里程计、使用 KinectFusion进行3D重建
saliency:显著性
- 人们看着一个场景的哪里?对于 静态、运动、”没有物体的“ 的显著性是有套路的
sfm:2D到3D的算法
- 这个模块的核心是一个轻量级的Libmv,包含一些从2D图像到3D重建的算法
stereo:立体匹配
- 使用不同的描述子进行立体匹配:Census / CS-Census / MCT / BRIEF / MV ,和使用 Quasi 立体的方法进行稠密立体匹配
structured_light:结构光
- 利用结构光去分析场景深度
surface_matching:平面匹配
- 使用PPF特征进行3D物体识别和定位
text:文字识别
- 文字检测、分离、识别
tracking:目标跟踪
xfeatures2d: 2d特征算法
- 一些额外的实验性或者不是免费的2D特征检测、描述子的算法:SURF, SIFT, BRIEF, Censure, Freak, LUCID, Daisy, Self-similar.
ximgproc:扩展的图像处理
- 结构森林、一些滤波器(Domain Transform Filter / Guided Filter / Adaptive Manifold Filter / Joint Bilateral Filter / Superpixels / Ridge Detection Filter)
xobjdetect:增强的2d物体检测
- 级联检测器 : LBP+_WaldBoost
xphoto:额外的照片处理
- 颜色均衡、降噪、图像修复
还没有评论,来说两句吧...