角点预检测
1.Opencv
定义:
OpenCV,它是一个图像和视频处理库,包含 C ++,C,Python 和 Java 的绑定。 OpenCV 用于各种图像和视频分析,如面部识别和检测,车牌阅读,照片编辑,高级机器人视觉,光学字符识别等等。
OpenCV作为强大的计算机视觉开源库,很大程度上参考了MatLab的实现细节和风格,比如说,在OpenCV2.x 版本以后,越来越多的函数实现了MatLab具有的功能,甚至干脆连函数名都一模一样(如 imread, imshow,imwriter等)。这一做法,不仅拉近了产品开发与学术研究的距离,并极大程度的提高了开发人员的研发效率,不得不说,Intel公司真的是一个伟大的公司。
在计算机内存中,数字图像以矩阵的形式存储和运算,比如,在MatLab中,图像读取之后对应一个矩阵,在OpenCV中,同样也是如此。
理解核心:
我们有多种方法可以获得从现实世界的数字图像:数码相机、扫描仪、计算机体层摄影或磁共振成像就是其中的几种。在每种情况下我们(人类)看到了什么是图像。但是,转换图像到我们的数字设备时我们的记录是图像的每个点的数值。
你看到的任何照片只是一个包含所有强度值的像素点矩阵。现在,我们如何获取和存储像素值可能根据最适合我们的需要而变化,最终可能减少计算机世界内的所有图像数值矩阵和一些其他的信息的描述基质本身。OpenCV 是一个计算机视觉库,其主要的工作是处理和操作,进一步了解这些信息。因此,你需要学习和开始熟悉它的第一件事是理解OpenCV 是如何存储和处理图像。
头文件:
#include <opencv2/opencv.hpp>
头文件定义类似如下:
#include <opencv2/opencv.hpp>
#ifndef_OPENCV_ALL_HPP_
#define_OPENCV_ALL_HPP_
#include “opencv2/core/core_c.h”
#include “opencv2/core/core.hpp”
#include “opencv2/flann/miniflann.hpp”
#include “opencv2/imgproc/imgproc_c.h”
#include “opencv2/imgproc/imgproc.hpp”
#include “opencv2/photo/photo.hpp”
#include “opencv2/video/video.hpp”
#include “opencv2/features2d/features2d.hpp”
#include “opencv2/objdetect/objdetect.hpp”
#include “opencv2/calib3d/calib3d.hpp”
#include “opencv2/m1/m1.hpp”
#include “opencv2/highgui/highgui_c.h”
#include “opencv2/highgui/highgui.hpp”
#include “opencv2/contrib/contrib.hpp”
#endif
opencv.hpp已经包含了OpenCV各模块的头文件,所以在编写core、objdetect、imgproc、photo、features2d、calib3d、m1、highgui、contrib模块的应用程序时,原则上仅写一句“# include <opencv2/opencv.hpp>”即可。
2.time.h
time.h 是C++常用标准库之一
有人总结成这么几句,的确是经典:
两个类型:
time_t:表示距离 UTC 时间 1970-01-01 00:00:00