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>