diff --git a/CMakeLists.txt b/CMakeLists.txt index 7537963d983271b6c03363f0f7f4463829daac46..9e61b65b1d8f260e9328be220555d3d0956e0d36 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -458,8 +458,13 @@ include(cmake/OpenCVFindLibsPerf.cmake) # ---------------------------------------------------------------------------- # --- LATEX for pdf documentation --- +unset(HAVE_DOXYGEN CACHE) if(BUILD_DOCS) include(cmake/OpenCVFindLATEX.cmake) + find_host_program(DOXYGEN_BUILD doxygen) + if (DOXYGEN_BUILD) + set(HAVE_DOXYGEN 1) + endif (DOXYGEN_BUILD) endif(BUILD_DOCS) # --- Python Support --- @@ -1071,6 +1076,7 @@ if(BUILD_DOCS) status(" Sphinx:" HAVE_SPHINX THEN "${SPHINX_BUILD} (ver ${SPHINX_VERSION})" ELSE NO) status(" PdfLaTeX compiler:" PDFLATEX_COMPILER THEN "${PDFLATEX_COMPILER}" ELSE NO) status(" PlantUML:" PLANTUML THEN "${PLANTUML}" ELSE NO) + status(" Doxygen:" HAVE_DOXYGEN THEN "YES (${DOXYGEN_BUILD})" ELSE NO) endif() # ========================== samples and tests ========================== diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index 7dcc96f928d1d2eb6592db6d45ff84bd69e02f2f..a671d43e3d125e00578cca5119e5cc9266aea16a 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -1,25 +1,11 @@ -# +#----------------------- # CMake file for OpenCV docs -# +#----------------------- -if(BUILD_DOCS AND HAVE_SPHINX) +set(HAVE_DOC_GENERATOR BUILD_DOCS AND (HAVE_SPHINX OR HAVE_DOXYGEN)) +if(HAVE_DOC_GENERATOR) project(opencv_docs) - - set(DOC_LIST - "${OpenCV_SOURCE_DIR}/doc/opencv-logo.png" - "${OpenCV_SOURCE_DIR}/doc/opencv-logo2.png" - "${OpenCV_SOURCE_DIR}/doc/opencv-logo-white.png" - "${OpenCV_SOURCE_DIR}/doc/opencv.ico" - "${OpenCV_SOURCE_DIR}/doc/pattern.png" - "${OpenCV_SOURCE_DIR}/doc/acircles_pattern.png") - if(NOT INSTALL_CREATE_DISTRIB) - list(APPEND DOC_LIST "${OpenCV_SOURCE_DIR}/doc/haartraining.htm") - endif() - - set(OPTIONAL_DOC_LIST "") - - # build lists of modules to be documented set(BASE_MODULES "") set(EXTRA_MODULES "") @@ -32,18 +18,29 @@ if(BUILD_DOCS AND HAVE_SPHINX) list(APPEND EXTRA_MODULES ${mod}) endif() endforeach() - + ocv_list_sort(BASE_MODULES) + ocv_list_sort(EXTRA_MODULES) set(FIXED_ORDER_MODULES core imgproc imgcodecs videoio highgui video calib3d features2d objdetect ml flann photo stitching) - list(REMOVE_ITEM BASE_MODULES ${FIXED_ORDER_MODULES}) + set(BASE_MODULES ${FIXED_ORDER_MODULES} ${BASE_MODULES}) - ocv_list_sort(BASE_MODULES) - ocv_list_sort(EXTRA_MODULES) + set(DOC_LIST + "${OpenCV_SOURCE_DIR}/doc/opencv-logo.png" + "${OpenCV_SOURCE_DIR}/doc/opencv-logo2.png" + "${OpenCV_SOURCE_DIR}/doc/opencv-logo-white.png" + "${OpenCV_SOURCE_DIR}/doc/opencv.ico" + "${OpenCV_SOURCE_DIR}/doc/pattern.png" + "${OpenCV_SOURCE_DIR}/doc/acircles_pattern.png") + set(OPTIONAL_DOC_LIST "") +endif(HAVE_DOC_GENERATOR) - set(BASE_MODULES ${FIXED_ORDER_MODULES} ${BASE_MODULES}) +# ========= Sphinx docs ========= +if(BUILD_DOCS AND HAVE_SPHINX) + if(NOT INSTALL_CREATE_DISTRIB) + list(APPEND DOC_LIST "${OpenCV_SOURCE_DIR}/doc/haartraining.htm") + endif() # build lists of documentation files and generate table of contents for reference manual - set(DOC_FAKE_ROOT "${CMAKE_CURRENT_BINARY_DIR}/fake-root") set(DOC_FAKE_ROOT_FILES "") @@ -103,7 +100,6 @@ if(BUILD_DOCS AND HAVE_SPHINX) if(PDFLATEX_COMPILER) add_custom_target(docs COMMAND ${SPHINX_BUILD} ${BUILD_PLANTUML} -b latex -c "${CMAKE_CURRENT_SOURCE_DIR}" "${DOC_FAKE_ROOT}" . - COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/pics ${CMAKE_CURRENT_BINARY_DIR}/doc/opencv1/pics COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/mymath.sty ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${PYTHON_DEFAULT_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/patch_refman_latex.py" opencv2refman.tex COMMAND ${PYTHON_DEFAULT_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/patch_refman_latex.py" opencv2manager.tex @@ -147,12 +143,48 @@ if(BUILD_DOCS AND HAVE_SPHINX) set_target_properties(html_docs PROPERTIES FOLDER "documentation") endif() +endif() + +# ========= Doxygen docs ========= +if(BUILD_DOCS AND HAVE_DOXYGEN) + set(candidates) + set(all_headers) + set(all_images) + list(APPEND candidates ${BASE_MODULES} ${EXTRA_MODULES}) + # blacklisted modules + ocv_list_filterout(candidates "^ts$") + # gathering headers + foreach(m ${candidates}) + set(all_headers ${all_headers} "${OPENCV_MODULE_opencv_${m}_HEADERS}") + set(docs_dir "${OPENCV_MODULE_opencv_${m}_LOCATION}/doc") + if(EXISTS ${docs_dir}) + set(all_images ${all_images} ${docs_dir}) + set(all_headers ${all_headers} ${docs_dir}) + endif() + endforeach() + + # additional config + string(REGEX REPLACE ";" " \\\\\\n" CMAKE_DOXYGEN_INPUT_LIST "${all_headers}") + string(REGEX REPLACE ";" " \\\\\\n" CMAKE_DOXYGEN_IMAGE_PATH "${all_images}") + set(CMAKE_DOXYGEN_INDEX_MD "${CMAKE_SOURCE_DIR}/README.md") + set(CMAKE_DOXYGEN_LAYOUT "${CMAKE_CURRENT_SOURCE_DIR}/DoxygenLayout.xml") + set(CMAKE_DOXYGEN_OUTPUT_PATH "doxygen") + + # writing file + set(doxyfile "${CMAKE_CURRENT_BINARY_DIR}/Doxyfile") + configure_file(Doxyfile.in ${doxyfile} @ONLY) + + add_custom_target(doxygen + COMMAND ${DOXYGEN_BUILD} ${doxyfile} + DEPENDS ${doxyfile} ${all_headers} ${all_images}) +endif() + +if(HAVE_DOC_GENERATOR) + # installation foreach(f ${DOC_LIST}) install(FILES "${f}" DESTINATION "${OPENCV_DOC_INSTALL_PATH}" COMPONENT docs) endforeach() - foreach(f ${OPTIONAL_DOC_LIST}) install(FILES "${f}" DESTINATION "${OPENCV_DOC_INSTALL_PATH}" OPTIONAL COMPONENT docs) endforeach() - -endif() +endif(HAVE_DOC_GENERATOR) diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in index b25c77a6f78b530b1c93f10232e089e0528e7bfd..c47496fa3b64916e2ceb32b4749b3210a977d8df 100644 --- a/doc/Doxyfile.in +++ b/doc/Doxyfile.in @@ -1,124 +1,271 @@ -# Doxyfile 1.3.9.1 - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- -PROJECT_NAME = opencv +DOXYFILE_ENCODING = UTF-8 +PROJECT_NAME = OpenCV PROJECT_NUMBER = @OPENCV_VERSION@ -OUTPUT_DIRECTORY = . -CREATE_SUBDIRS = NO +PROJECT_BRIEF = "Open Source Computer Vision" +PROJECT_LOGO = @CMAKE_CURRENT_SOURCE_DIR@/opencv-logo-small.png +OUTPUT_DIRECTORY = @CMAKE_DOXYGEN_OUTPUT_PATH@ +CREATE_SUBDIRS = YES OUTPUT_LANGUAGE = English BRIEF_MEMBER_DESC = YES -SORT_BRIEF_DOCS = YES -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- +REPEAT_BRIEF = YES +ABBREVIATE_BRIEF = "The $name class" \ + "The $name widget" \ + "The $name file" \ + is \ + provides \ + specifies \ + contains \ + represents \ + a \ + an \ + the +ALWAYS_DETAILED_SEC = NO +INLINE_INHERITED_MEMB = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +STRIP_FROM_INC_PATH = +SHORT_NAMES = NO +JAVADOC_AUTOBRIEF = NO +QT_AUTOBRIEF = NO +MULTILINE_CPP_IS_BRIEF = NO +INHERIT_DOCS = YES +SEPARATE_MEMBER_PAGES = NO +TAB_SIZE = 4 +ALIASES = +TCL_SUBST = +OPTIMIZE_OUTPUT_FOR_C = NO +OPTIMIZE_OUTPUT_JAVA = NO +OPTIMIZE_FOR_FORTRAN = NO +OPTIMIZE_OUTPUT_VHDL = NO +EXTENSION_MAPPING = +MARKDOWN_SUPPORT = YES +AUTOLINK_SUPPORT = NO +BUILTIN_STL_SUPPORT = YES +CPP_CLI_SUPPORT = NO +SIP_SUPPORT = NO +IDL_PROPERTY_SUPPORT = YES +DISTRIBUTE_GROUP_DOC = NO +SUBGROUPING = YES +INLINE_GROUPED_CLASSES = NO +INLINE_SIMPLE_STRUCTS = NO +TYPEDEF_HIDES_STRUCT = YES +LOOKUP_CACHE_SIZE = 0 EXTRACT_ALL = YES -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- +EXTRACT_PRIVATE = NO +EXTRACT_PACKAGE = NO +EXTRACT_STATIC = NO +EXTRACT_LOCAL_CLASSES = NO +EXTRACT_LOCAL_METHODS = NO +EXTRACT_ANON_NSPACES = NO +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +HIDE_FRIEND_COMPOUNDS = NO +HIDE_IN_BODY_DOCS = NO +INTERNAL_DOCS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +SHOW_INCLUDE_FILES = YES +SHOW_GROUPED_MEMB_INC = NO +FORCE_LOCAL_INCLUDES = NO +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +SORT_BRIEF_DOCS = NO +SORT_MEMBERS_CTORS_1ST = NO +SORT_GROUP_NAMES = NO +SORT_BY_SCOPE_NAME = NO +STRICT_PROTO_MATCHING = NO +GENERATE_TODOLIST = YES +GENERATE_TESTLIST = YES +GENERATE_BUGLIST = YES +GENERATE_DEPRECATEDLIST= YES +ENABLED_SECTIONS = +MAX_INITIALIZER_LINES = 30 +SHOW_USED_FILES = YES +SHOW_FILES = YES +SHOW_NAMESPACES = YES +FILE_VERSION_FILTER = +LAYOUT_FILE = @CMAKE_DOXYGEN_LAYOUT@ +CITE_BIB_FILES = QUIET = NO WARNINGS = YES WARN_IF_UNDOCUMENTED = YES WARN_IF_DOC_ERROR = YES +WARN_NO_PARAMDOC = NO WARN_FORMAT = "$file:$line: $text" WARN_LOGFILE = -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- INPUT = @CMAKE_DOXYGEN_INPUT_LIST@ -FILE_PATTERNS = *.cpp *.h* -RECURSIVE = NO +INPUT_ENCODING = UTF-8 +FILE_PATTERNS = +RECURSIVE = YES EXCLUDE = EXCLUDE_SYMLINKS = NO EXCLUDE_PATTERNS = +EXCLUDE_SYMBOLS = CV_WRAP \ + CV_EXPORTS \ + CV_EXPORTS_W \ + CV_WRAP_AS EXAMPLE_PATH = -EXAMPLE_PATTERNS = +EXAMPLE_PATTERNS = * EXAMPLE_RECURSIVE = NO IMAGE_PATH = @CMAKE_DOXYGEN_IMAGE_PATH@ INPUT_FILTER = FILTER_PATTERNS = FILTER_SOURCE_FILES = NO -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- -ALPHABETICAL_INDEX = YES +FILTER_SOURCE_PATTERNS = +USE_MDFILE_AS_MAINPAGE = @CMAKE_DOXYGEN_INDEX_MD@ +SOURCE_BROWSER = NO +INLINE_SOURCES = NO +STRIP_CODE_COMMENTS = YES +REFERENCED_BY_RELATION = NO +REFERENCES_RELATION = NO +REFERENCES_LINK_SOURCE = YES +SOURCE_TOOLTIPS = YES +USE_HTAGS = NO +VERBATIM_HEADERS = NO +ALPHABETICAL_INDEX = NO COLS_IN_ALPHA_INDEX = 5 IGNORE_PREFIX = -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- GENERATE_HTML = YES HTML_OUTPUT = html HTML_FILE_EXTENSION = .html - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- -GENERATE_LATEX = NO -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_EXTRA_STYLESHEET = +HTML_EXTRA_FILES = +HTML_COLORSTYLE_HUE = 220 +HTML_COLORSTYLE_SAT = 100 +HTML_COLORSTYLE_GAMMA = 80 +HTML_TIMESTAMP = YES +HTML_DYNAMIC_SECTIONS = NO +HTML_INDEX_NUM_ENTRIES = 100 +GENERATE_DOCSET = NO +DOCSET_FEEDNAME = "Doxygen generated docs" +DOCSET_BUNDLE_ID = org.doxygen.Project +DOCSET_PUBLISHER_ID = org.doxygen.Publisher +DOCSET_PUBLISHER_NAME = Publisher +GENERATE_HTMLHELP = NO +CHM_FILE = +HHC_LOCATION = +GENERATE_CHI = NO +CHM_INDEX_ENCODING = +BINARY_TOC = NO +TOC_EXPAND = NO +GENERATE_QHP = NO +QCH_FILE = +QHP_NAMESPACE = org.doxygen.Project +QHP_VIRTUAL_FOLDER = doc +QHP_CUST_FILTER_NAME = +QHP_CUST_FILTER_ATTRS = +QHP_SECT_FILTER_ATTRS = +QHG_LOCATION = +GENERATE_ECLIPSEHELP = NO +ECLIPSE_DOC_ID = org.doxygen.Project +DISABLE_INDEX = YES +GENERATE_TREEVIEW = YES +ENUM_VALUES_PER_LINE = 4 +TREEVIEW_WIDTH = 250 +EXT_LINKS_IN_WINDOW = YES +FORMULA_FONTSIZE = 10 +FORMULA_TRANSPARENT = YES +USE_MATHJAX = NO +MATHJAX_FORMAT = HTML-CSS +MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest +MATHJAX_EXTENSIONS = +MATHJAX_CODEFILE = +SEARCHENGINE = YES +SERVER_BASED_SEARCH = NO +EXTERNAL_SEARCH = NO +SEARCHENGINE_URL = +SEARCHDATA_FILE = searchdata.xml +EXTERNAL_SEARCH_ID = +EXTRA_SEARCH_MAPPINGS = +GENERATE_LATEX = YES +LATEX_OUTPUT = latex +LATEX_CMD_NAME = latex +MAKEINDEX_CMD_NAME = makeindex +COMPACT_LATEX = NO +PAPER_TYPE = a4 +EXTRA_PACKAGES = +LATEX_HEADER = +LATEX_FOOTER = +LATEX_EXTRA_FILES = +PDF_HYPERLINKS = YES +USE_PDFLATEX = YES +LATEX_BATCHMODE = NO +LATEX_HIDE_INDICES = NO +LATEX_SOURCE_CODE = NO +LATEX_BIB_STYLE = plain GENERATE_RTF = NO -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = GENERATE_MAN = NO -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- +MAN_OUTPUT = man +MAN_EXTENSION = .3 +MAN_LINKS = NO GENERATE_XML = NO -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- +XML_OUTPUT = xml +XML_PROGRAMLISTING = YES +GENERATE_DOCBOOK = NO +DOCBOOK_OUTPUT = docbook GENERATE_AUTOGEN_DEF = NO -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- GENERATE_PERLMOD = NO -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- +PERLMOD_LATEX = NO +PERLMOD_PRETTY = YES +PERLMOD_MAKEVAR_PREFIX = ENABLE_PREPROCESSING = YES MACRO_EXPANSION = YES -EXPAND_ONLY_PREDEF = YES -PREDEFINED = CV_EXPORTS= CVAPI(x)=x __cplusplus=1 -SEARCH_INCLUDES = NO +EXPAND_ONLY_PREDEF = NO +SEARCH_INCLUDES = YES INCLUDE_PATH = INCLUDE_FILE_PATTERNS = +PREDEFINED = CV_WRAP= \ + __cplusplus=1 \ + CVAPI(x)=x \ + CV_PROP_RW= \ + CV_EXPORTS= \ + CV_EXPORTS_W= EXPAND_AS_DEFINED = SKIP_FUNCTION_MACROS = YES -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- TAGFILES = GENERATE_TAGFILE = ALLEXTERNALS = NO EXTERNAL_GROUPS = YES +EXTERNAL_PAGES = YES PERL_PATH = /usr/bin/perl -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- CLASS_DIAGRAMS = YES -HIDE_UNDOC_RELATIONS = YES +MSCGEN_PATH = +DIA_PATH = +HIDE_UNDOC_RELATIONS = NO HAVE_DOT = NO +DOT_NUM_THREADS = 0 +DOT_FONTNAME = Helvetica +DOT_FONTSIZE = 10 +DOT_FONTPATH = CLASS_GRAPH = YES COLLABORATION_GRAPH = YES -UML_LOOK = NO +GROUP_GRAPHS = YES +UML_LOOK = YES +UML_LIMIT_NUM_FIELDS = 10 TEMPLATE_RELATIONS = YES INCLUDE_GRAPH = YES INCLUDED_BY_GRAPH = YES -CALL_GRAPH = NO +CALL_GRAPH = YES +CALLER_GRAPH = NO GRAPHICAL_HIERARCHY = YES -DOT_IMAGE_FORMAT = png +DIRECTORY_GRAPH = YES +DOT_IMAGE_FORMAT = svg +INTERACTIVE_SVG = YES DOT_PATH = DOTFILE_DIRS = -MAX_DOT_GRAPH_WIDTH = 1024 -MAX_DOT_GRAPH_HEIGHT = 1024 +MSCFILE_DIRS = +DIAFILE_DIRS = +DOT_GRAPH_MAX_NODES = 50 MAX_DOT_GRAPH_DEPTH = 0 +DOT_TRANSPARENT = NO +DOT_MULTI_TARGETS = NO GENERATE_LEGEND = YES DOT_CLEANUP = YES -#--------------------------------------------------------------------------- -# Configuration::additions related to the search engine -#--------------------------------------------------------------------------- -SEARCHENGINE = YES diff --git a/doc/DoxygenLayout.xml b/doc/DoxygenLayout.xml new file mode 100644 index 0000000000000000000000000000000000000000..b2675719c93ee3197e5f1406ac94768084903fb9 --- /dev/null +++ b/doc/DoxygenLayout.xml @@ -0,0 +1,191 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/opencv-logo-small.png b/doc/opencv-logo-small.png new file mode 100644 index 0000000000000000000000000000000000000000..763ceb2b325b21a83ed10896daa8a9dc9dc5460b Binary files /dev/null and b/doc/opencv-logo-small.png differ diff --git a/modules/core/include/opencv2/core.hpp b/modules/core/include/opencv2/core.hpp index a258e8c4d2dfaea06b33d4b1b2cdbe43e6de04b6..a8f2db2470129a8d70f9fabe7701d74b8446ae88 100644 --- a/modules/core/include/opencv2/core.hpp +++ b/modules/core/include/opencv2/core.hpp @@ -102,10 +102,10 @@ public: By default the function prints information about the error to stderr, then it either stops if setBreakOnError() had been called before or raises the exception. It is possible to alternate error processing by using redirectError(). - \param exc the exception raisen. + \todo drop this version */ -//TODO: drop this version + CV_EXPORTS void error( const Exception& exc ); @@ -332,7 +332,7 @@ CV_EXPORTS_W void absdiff(InputArray src1, InputArray src2, OutputArray dst); CV_EXPORTS_W void inRange(InputArray src, InputArray lowerb, InputArray upperb, OutputArray dst); -//! compares elements of two arrays (dst = src1 src2) +//! compares elements of two arrays (dst = src1 \ src2) CV_EXPORTS_W void compare(InputArray src1, InputArray src2, OutputArray dst, int cmpop); //! computes per-element minimum of two arrays (dst = min(src1, src2)) diff --git a/modules/core/include/opencv2/core/affine.hpp b/modules/core/include/opencv2/core/affine.hpp index 7284525c81ea3b4b89b955709c8f1e52d9f605dd..172f5297c6ce1fc8191b95e5a95d038aff27972b 100644 --- a/modules/core/include/opencv2/core/affine.hpp +++ b/modules/core/include/opencv2/core/affine.hpp @@ -48,6 +48,8 @@ #include +/*! @file */ + namespace cv { template @@ -429,6 +431,7 @@ cv::Affine3 cv::Affine3::cast() const return Affine3(matrix); } +/** @cond IGNORED */ template inline cv::Affine3 cv::operator*(const cv::Affine3& affine1, const cv::Affine3& affine2) { @@ -446,6 +449,7 @@ V cv::operator*(const cv::Affine3& affine, const V& v) r.z = m.val[8] * v.x + m.val[9] * v.y + m.val[10] * v.z + m.val[11]; return r; } +/** @endcond */ static inline cv::Vec3f cv::operator*(const cv::Affine3f& affine, const cv::Vec3f& v) diff --git a/modules/core/include/opencv2/core/base.hpp b/modules/core/include/opencv2/core/base.hpp index e17cb84afbf6fc0b9a62b25112f1b0a928ece6f6..d048dec4968fc050e190a9619961051fa5e53afb 100644 --- a/modules/core/include/opencv2/core/base.hpp +++ b/modules/core/include/opencv2/core/base.hpp @@ -235,13 +235,15 @@ enum { #define CV_SUPPRESS_DEPRECATED_END #endif -//! Signals an error and raises the exception. -/*! +/*! @brief Signals an error and raises the exception. By default the function prints information about the error to stderr, then it either stops if setBreakOnError() had been called before or raises the exception. It is possible to alternate error processing by using redirectError(). - - \param exc the exception raisen. + @param _code - error code @see CVStatus + @param _err - error description + @param _func - function name. Available only when the compiler supports getting it + @param _file - source file name where the error has occured + @param _line - line number in the source file where the error has occured */ CV_EXPORTS void error(int _code, const String& _err, const char* _func, const char* _file, int _line); diff --git a/modules/core/include/opencv2/core/cuda.inl.hpp b/modules/core/include/opencv2/core/cuda.inl.hpp index d497f20ccf774187600a5b359fbcce254eb2d5d4..f111bc45ab7971b3af12e081edfecec1bb37d7e1 100644 --- a/modules/core/include/opencv2/core/cuda.inl.hpp +++ b/modules/core/include/opencv2/core/cuda.inl.hpp @@ -224,6 +224,7 @@ const _Tp* GpuMat::ptr(int y) const return (const _Tp*)ptr(y); } +/** @cond IGNORED */ template inline GpuMat::operator PtrStepSz() const { @@ -235,6 +236,7 @@ GpuMat::operator PtrStep() const { return PtrStep((T*)data, step); } +/** @endcond */ inline GpuMat GpuMat::row(int y) const diff --git a/modules/core/include/opencv2/core/mat.hpp b/modules/core/include/opencv2/core/mat.hpp index 6e9863a5d2f88667ac8c3550b88648a2b8ae5ac3..cc589a06758f4f20308d69152b14a04a7cad93ec 100644 --- a/modules/core/include/opencv2/core/mat.hpp +++ b/modules/core/include/opencv2/core/mat.hpp @@ -578,8 +578,6 @@ protected: cv::Mat::step that is used to actually compute address of a matrix element. cv::Mat::step is needed because the matrix can be a part of another matrix or because there can some padding space in the end of each row for a proper alignment. - \image html roi.png - Given these parameters, address of the matrix element M_{ij} is computed as following: addr(M_{ij})=M.data + M.step*i + j*M.elemSize() @@ -962,9 +960,8 @@ protected: \endcode While cv::Mat is sufficient in most cases, cv::Mat_ can be more convenient if you use a lot of element - access operations and if you know matrix type at compile time. - Note that cv::Mat::at<_Tp>(int y, int x) and cv::Mat_<_Tp>::operator ()(int y, int x) do absolutely the - same thing and run at the same speed, but the latter is certainly shorter: + access operations and if you know matrix type at compile time. Note that cv::Mat::at and + cv::Mat::operator() do absolutely the same thing and run at the same speed, but the latter is certainly shorter: \code Mat_ M(20,20); @@ -1514,9 +1511,13 @@ public: void convertTo( SparseMat& m, int rtype, double alpha=1 ) const; //! converts sparse matrix to dense n-dim matrix with optional type conversion and scaling. /*! - \param rtype The output matrix data type. When it is =-1, the output array will have the same data type as (*this) - \param alpha The scale factor - \param beta The optional delta added to the scaled values before the conversion + @param [out] m - output matrix; if it does not have a proper size or type before the operation, + it is reallocated + @param [in] rtype – desired output matrix type or, rather, the depth since the number of channels + are the same as the input has; if rtype is negative, the output matrix will have the + same type as the input. + @param [in] alpha – optional scale factor + @param [in] beta – optional delta added to the scaled values */ void convertTo( Mat& m, int rtype, double alpha=1, double beta=0 ) const; diff --git a/modules/core/include/opencv2/core/matx.hpp b/modules/core/include/opencv2/core/matx.hpp index d7d485957346b2f5e5af53efc82ffffe84004299..a35d47be01a2acf82048bb76fa90e3413af75f6a 100644 --- a/modules/core/include/opencv2/core/matx.hpp +++ b/modules/core/include/opencv2/core/matx.hpp @@ -185,9 +185,6 @@ public: _Tp val[m*n]; //< matrix elements }; -/*! - \typedef -*/ typedef Matx Matx12f; typedef Matx Matx12d; typedef Matx Matx13f; @@ -631,6 +628,7 @@ double Matx<_Tp, m, n>::ddot(const Matx<_Tp, m, n>& M) const return s; } +/** @cond IGNORED */ template inline Matx<_Tp,m,n> Matx<_Tp,m,n>::diag(const typename Matx<_Tp,m,n>::diag_type& d) { @@ -639,6 +637,7 @@ Matx<_Tp,m,n> Matx<_Tp,m,n>::diag(const typename Matx<_Tp,m,n>::diag_type& d) M(i,i) = d(i, 0); return M; } +/** @endcond */ template template inline Matx<_Tp, m, n>::operator Matx() const diff --git a/modules/core/include/opencv2/core/types.hpp b/modules/core/include/opencv2/core/types.hpp index a9a0a308430e794d78a237638f69bb88fc2d248f..419c0473686f7ffdd7105166684b825c355f8a2d 100644 --- a/modules/core/include/opencv2/core/types.hpp +++ b/modules/core/include/opencv2/core/types.hpp @@ -84,15 +84,9 @@ public: _Tp re, im; //< the real and the imaginary parts }; -/*! - \typedef -*/ typedef Complex Complexf; typedef Complex Complexd; -/*! - traits -*/ template class DataType< Complex<_Tp> > { public: @@ -151,17 +145,11 @@ public: _Tp x, y; //< the point coordinates }; -/*! - \typedef -*/ typedef Point_ Point2i; typedef Point_ Point2f; typedef Point_ Point2d; typedef Point2i Point; -/*! - traits -*/ template class DataType< Point_<_Tp> > { public: @@ -219,16 +207,10 @@ public: _Tp x, y, z; //< the point coordinates }; -/*! - \typedef -*/ typedef Point3_ Point3i; typedef Point3_ Point3f; typedef Point3_ Point3d; -/*! - traits -*/ template class DataType< Point3_<_Tp> > { public: @@ -277,17 +259,11 @@ public: _Tp width, height; // the width and the height }; -/*! - \typedef -*/ typedef Size_ Size2i; typedef Size_ Size2f; typedef Size_ Size2d; typedef Size2i Size; -/*! - traits -*/ template class DataType< Size_<_Tp> > { public: @@ -347,17 +323,11 @@ public: _Tp x, y, width, height; //< the top-left corner, as well as width and height of the rectangle }; -/*! - \typedef -*/ typedef Rect_ Rect2i; typedef Rect_ Rect2f; typedef Rect_ Rect2d; typedef Rect2i Rect; -/*! - traits -*/ template class DataType< Rect_<_Tp> > { public: @@ -404,9 +374,6 @@ public: float angle; //< the rotation angle. When the angle is 0, 90, 180, 270 etc., the rectangle becomes an up-right rectangle. }; -/*! - traits -*/ template<> class DataType< RotatedRect > { public: @@ -445,9 +412,6 @@ public: int start, end; }; -/*! - traits -*/ template<> class DataType { public: @@ -502,14 +466,8 @@ public: bool isReal() const; }; -/*! - \typedef -*/ typedef Scalar_ Scalar; -/*! - traits -*/ template class DataType< Scalar_<_Tp> > { public: @@ -579,9 +537,6 @@ public: CV_PROP_RW int class_id; //!< object class (if the keypoints need to be clustered by an object they belong to) }; -/*! - traits -*/ template<> class DataType { public: @@ -623,9 +578,6 @@ public: bool operator<(const DMatch &m) const; }; -/*! - traits -*/ template<> class DataType { public: @@ -695,9 +647,6 @@ public: CV_PROP_RW double nu20, nu11, nu02, nu30, nu21, nu12, nu03; }; -/*! - traits -*/ template<> class DataType { public: diff --git a/modules/flann/include/opencv2/flann/dynamic_bitset.h b/modules/flann/include/opencv2/flann/dynamic_bitset.h index bfd39cea48b59d64198365ed823d832f773b47c5..d795b5d6ed9c415ddab883354a2f5bb2a5e9138d 100644 --- a/modules/flann/include/opencv2/flann/dynamic_bitset.h +++ b/modules/flann/include/opencv2/flann/dynamic_bitset.h @@ -57,14 +57,14 @@ namespace cvflann { class DynamicBitset { public: - /** @param default constructor + /** default constructor */ DynamicBitset() { } - /** @param only constructor we use in our code - * @param the size of the bitset (in bits) + /** only constructor we use in our code + * @param sz the size of the bitset (in bits) */ DynamicBitset(size_t sz) { @@ -87,7 +87,7 @@ public: return bitset_.empty(); } - /** @param set all the bits to 0 + /** set all the bits to 0 */ void reset() { @@ -95,7 +95,7 @@ public: } /** @brief set one bit to 0 - * @param + * @param index */ void reset(size_t index) { @@ -106,15 +106,15 @@ public: * This function is useful when resetting a given set of bits so that the * whole bitset ends up being 0: if that's the case, we don't care about setting * other bits to 0 - * @param + * @param index */ void reset_block(size_t index) { bitset_[index / cell_bit_size_] = 0; } - /** @param resize the bitset so that it contains at least size bits - * @param size + /** resize the bitset so that it contains at least sz bits + * @param sz */ void resize(size_t sz) { @@ -122,7 +122,7 @@ public: bitset_.resize(sz / cell_bit_size_ + 1); } - /** @param set a bit to true + /** set a bit to true * @param index the index of the bit to set to 1 */ void set(size_t index) @@ -130,14 +130,14 @@ public: bitset_[index / cell_bit_size_] |= size_t(1) << (index % cell_bit_size_); } - /** @param gives the number of contained bits + /** gives the number of contained bits */ size_t size() const { return size_; } - /** @param check if a bit is set + /** check if a bit is set * @param index the index of the bit to check * @return true if the bit is set */ diff --git a/modules/flann/include/opencv2/flann/lsh_table.h b/modules/flann/include/opencv2/flann/lsh_table.h index 2c99a3aee4df469b72e813fc02a4f29c4f9f577b..582dcdb2fce1976feeb4a2aa5734c33ed905e61c 100644 --- a/modules/flann/include/opencv2/flann/lsh_table.h +++ b/modules/flann/include/opencv2/flann/lsh_table.h @@ -153,8 +153,10 @@ public: * @param feature_size is the size of the feature (considered as a ElementType[]) * @param key_size is the number of bits that are turned on in the feature */ - LshTable(unsigned int /*feature_size*/, unsigned int /*key_size*/) + LshTable(unsigned int feature_size, unsigned int key_size) { + (void)feature_size; + (void)key_size; std::cerr << "LSH is not implemented for that type" << std::endl; assert(0); } diff --git a/modules/flann/include/opencv2/flann/result_set.h b/modules/flann/include/opencv2/flann/result_set.h index 3adad465968112cb3d6e18743ae9b4b11afb4631..97500195a2ca541c8a6f0fe2b8dc63555a45db12 100644 --- a/modules/flann/include/opencv2/flann/result_set.h +++ b/modules/flann/include/opencv2/flann/result_set.h @@ -449,7 +449,7 @@ class RadiusUniqueResultSet : public UniqueResultSet { public: /** Constructor - * @param capacity the number of neighbors to store at max + * @param radius the maximum distance of a neighbor */ RadiusUniqueResultSet(DistanceType radius) : radius_(radius) @@ -509,6 +509,7 @@ class KNNRadiusUniqueResultSet : public KNNUniqueResultSet public: /** Constructor * @param capacity the number of neighbors to store at max + * @param radius the maximum distance of a neighbor */ KNNRadiusUniqueResultSet(unsigned int capacity, DistanceType radius) { diff --git a/modules/imgproc/include/opencv2/imgproc.hpp b/modules/imgproc/include/opencv2/imgproc.hpp index f23080aa0f9684ac493ca20d15fe64925273494e..ee20f379afe287ac449df794a67ba967a85b5fc2 100644 --- a/modules/imgproc/include/opencv2/imgproc.hpp +++ b/modules/imgproc/include/opencv2/imgproc.hpp @@ -698,8 +698,7 @@ public: /** * Draw lines on the given canvas. - * - * @param image The image, where lines will be drawn. + * @param _image The image, where lines will be drawn. * Should have the size of the image, where the lines were found * @param lines The lines that need to be drawn */ @@ -707,11 +706,10 @@ public: /** * Draw both vectors on the image canvas. Uses blue for lines 1 and red for lines 2. - * * @param size The size of the image, where lines were found. * @param lines1 The first lines that need to be drawn. Color - Blue. * @param lines2 The second lines that need to be drawn. Color - Red. - * @param image Optional image, where lines will be drawn. + * @param _image Optional image, where lines will be drawn. * Should have the size of the image, where the lines were found * @return The number of mismatching pixels between lines1 and lines2. */ diff --git a/modules/video/include/opencv2/video/tracking.hpp b/modules/video/include/opencv2/video/tracking.hpp index 643b65a26fcdaaccecdeed7d2f583bd125dcbfea..a9fdaa272adeec5e7fcb7ce7c772789bb36be5d4 100644 --- a/modules/video/include/opencv2/video/tracking.hpp +++ b/modules/video/include/opencv2/video/tracking.hpp @@ -110,7 +110,7 @@ CV_EXPORTS_W double findTransformECC( InputArray templateImage, InputArray input /*! Kalman filter. - The class implements standard Kalman filter \url{http://en.wikipedia.org/wiki/Kalman_filter}. + The class implements standard Kalman filter http://en.wikipedia.org/wiki/Kalman_filter. However, you can modify KalmanFilter::transitionMatrix, KalmanFilter::controlMatrix and KalmanFilter::measurementMatrix to get the extended Kalman filter functionality. */