文章目录
安装下载 概述aruco :增强现实bgsegm:背景分割bioinspired:生物视觉ccalib:自定义标定cnn_3dobj :CNN物体识别和姿态估计cvv:计算机视觉调试的交互GUIdatasets:数据集读取器dnn_objdetect: CNNs 的物体检测模型dnns_easily_fooled:欺骗CNNdpm:可变型部件模型face:人脸识别fuzzy:视觉的模糊逻辑freetype:写字hdf:hdf存储line_descriptor:线条匹配与提取matlaboptflow:光流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.1opencv_contrib-4.0.1ippicv__lnx_intel64_general_0723.tgz (很慢,估计十几分钟,可以在csdn搜索,我上传百度云了)face_landmark_model.dat (很慢,可以在csdn搜索,我上传百度云了) 将ippicv__lnx_intel64_general_0723.tgz 和face_landmark_model.dat 下载好,用vim将源码中3rdparty/ippicv/ippicv.cmake打开,将47行的"/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 ,默认即可。
3. 在Search中输入extr找到,OPENCV_EXTRA_MODULES_PATH ,点击value后面将opencv_contrib里面的modules路径加进来,如图:在点击configure,没有错误即可,有错误继续解决。
4. 在Seach中搜索 free, 搜到结果后面打钩,涉及到专利问题,否则在使用xfeature2d.create的时候报错。
5. 点击Generate ,会有 Generate done的字样
6. 进入 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})