CV学习日志:CV开发之常用库及其头文件

CV开发过程中,通常会涉及以下库:

(1)语言/视觉:C、CPP、QT、OpenCV

(2)通信/模拟:ROS、Gazebo、Webots

(3)日志/数学:Eigen、Gflags、Glog、Ceres、Spdlog

(4)其它经典库:Octomap、

用到这些库的主要头文件如下:

//1.C headers and Reference: http://www.cplusplus.com/reference/clibrary/
//1.1 C89 headers(18)
//#include <assert.h>
//#include <ctype.h>
//#include <errno.h>
//#include <float.h>
//#include <iso646.h>
//#include <limits.h>
//#include <locale.h>
//#include <math.h>
//#include <setjmp.h>
//#include <signal.h>
//#include <stdarg.h>
//#include <stddef.h>
//#include <stdio.h>
//#include <stdlib.h>
//#include <string.h>
//#include <time.h>
//#include <wchar.h>
//#include <wctype.h>
////1.2 C99 headers(6)
//#include <complex.h>
//#include <fenv.h>
//#include <inttypes.h>
//#include <stdbool.h>
//#include <stdint.h>
//#include <tgmath.h>
////1.3 C11 headers(5)
//#include <stdalign.h>
//#include <stdatomic.h>
//#include <stdnoreturn.h>
//#include <threads.h>
//#include <uchar.h>

//2.CPP headers(50) and Reference: http://en.cppreference.com/w/cpp/header
//2.1 C++98 and C++03 headers(50)
#include <cassert>
#include <cctype>
#include <cerrno>
#include <cfloat>
#include <ciso646>
#include <climits>
#include <clocale>
#include <cmath>
#include <csetjmp>
#include <csignal>
#include <cstdarg>
#include <cstddef>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <cwchar>
#include <cwctype>
#include <deque>
#include <list>
#include <vector>
#include <set>
#include <map>
#include <queue>
#include <stack>
#include <algorithm>
#include <string>
#include <iterator>
#include <memory>
#include <new>
#include <ios>
#include <iosfwd>
#include <iomanip>
#include <iostream>
#include <istream>
#include <ostream>
#include <fstream>
#include <sstream>
#include <streambuf>
#include <exception>
#include <stdexcept>
#include <complex>
#include <limits>
#include <numeric>
#include <valarray>
#include <locale>
#include <bitset>
#include <functional> 
#include <typeinfo>
#include <utility>
//2.2 C++11 and C++14 headers(25)
#include <typeindex>
#include <type_traits>
#include <chrono>
#include <initializer_list>
#include <tuple>
#include <scoped_allocator>
#include <cstdint>
#include <cinttypes>
#include <system_error>
#include <cuchar>
#include <array>
#include <forward_list>
#include <unordered_map>
#include <unordered_set>
#include <random>
#include <ratio>
#include <cfenv>
#include <codecvt>
#include <regex>
#include <atomic>
#include <thread>
#include <mutex>
#include <shared_mutex>
#include <future>
#include <condition_variable>

//3.Qt5.x headers
#include <QtGui/QtGui>
#include <QtCore/QtCore>
#include <QtWidgets/QtWidgets>
#include <QtNetwork/QtNetwork>
#include <QtSerialPort/QtSerialPort>
#include <QtMultimedia/QtMultimedia>
#include <QtMultimediaWidgets/QtMultimediaWidgets>
#include <QtSql/QtSql>
#include <QtCharts/QtCharts>
#include <QtDataVisualization/QtDataVisualization>

//4.OpenCV4.x headers
#include <opencv2/opencv.hpp>
#include <opencv2/core/async.hpp>
#include <opencv2/core/utils/logger.hpp>
#include <opencv2/core/utils/filesystem.hpp>
#include <opencv2/viz.hpp>
#include <opencv2/plot.hpp>
#include <opencv2/aruco.hpp>
#include <opencv2/xphoto.hpp>
#include <opencv2/ximgproc.hpp>
#include <opencv2/xobjdetect.hpp>
//#include <opencv2/xfeatures2d.hpp>
#include <opencv2/ccalib/multicalib.hpp>
//<opencv2/calib3d/calib3d_c.h> //for CvLevMarq

//5.Spdlog&Eigen&Gflags&Glog&Ceres headers
#include <Eigen/Eigen>
#include <gflags/gflags.h>
#include <glog/logging.h>
#include <ceres/ceres.h>
#include <spdlog/spdlog.h>
#include <spdlog/async.h>
#include <spdlog/fmt/bin_to_hex.h>
#include <spdlog/sinks/null_sink.h>
#include <spdlog/sinks/dup_filter_sink.h>
#include <spdlog/sinks/ostream_sink.h>
#include <spdlog/sinks/basic_file_sink.h>
#include <spdlog/sinks/daily_file_sink.h>
#include <spdlog/sinks/rotating_file_sink.h>
#include <spdlog/sinks/stdout_sinks.h>
#include <spdlog/sinks/stdout_color_sinks.h>

//6.ROS2&Gazebo11&Webots202x headers
//Reference: another article

//9.Namespace used often
using namespace std;
using namespace cv;
using namespace QtDataVisualization;

//10.Additional headers
//10.1Octomap headers
#include <octomap/OcTree.h>
#include <octomap/ColorOcTree.h>
#include <octomap/OcTreeStamped.h>
#include <octomap/CountingOcTree.h>
#include <octomap/MapCollection.h>
原文地址:https://www.cnblogs.com/dzyBK/p/13818153.html