Basic doxygen documentation support

- updated existing Doxyfile.in
- added corresponding cmake instructions
- added some specific files (layout, icon)
- clean existing doxygen warnings
This commit is contained in:
Maksim Shabunin 2014-10-09 14:04:00 +04:00
parent e40567eaee
commit ba5f343c38
17 changed files with 520 additions and 186 deletions

View File

@ -458,8 +458,13 @@ include(cmake/OpenCVFindLibsPerf.cmake)
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
# --- LATEX for pdf documentation --- # --- LATEX for pdf documentation ---
unset(HAVE_DOXYGEN CACHE)
if(BUILD_DOCS) if(BUILD_DOCS)
include(cmake/OpenCVFindLATEX.cmake) include(cmake/OpenCVFindLATEX.cmake)
find_host_program(DOXYGEN_BUILD doxygen)
if (DOXYGEN_BUILD)
set(HAVE_DOXYGEN 1)
endif (DOXYGEN_BUILD)
endif(BUILD_DOCS) endif(BUILD_DOCS)
# --- Python Support --- # --- Python Support ---
@ -1071,6 +1076,7 @@ if(BUILD_DOCS)
status(" Sphinx:" HAVE_SPHINX THEN "${SPHINX_BUILD} (ver ${SPHINX_VERSION})" ELSE NO) status(" Sphinx:" HAVE_SPHINX THEN "${SPHINX_BUILD} (ver ${SPHINX_VERSION})" ELSE NO)
status(" PdfLaTeX compiler:" PDFLATEX_COMPILER THEN "${PDFLATEX_COMPILER}" ELSE NO) status(" PdfLaTeX compiler:" PDFLATEX_COMPILER THEN "${PDFLATEX_COMPILER}" ELSE NO)
status(" PlantUML:" PLANTUML THEN "${PLANTUML}" ELSE NO) status(" PlantUML:" PLANTUML THEN "${PLANTUML}" ELSE NO)
status(" Doxygen:" HAVE_DOXYGEN THEN "YES (${DOXYGEN_BUILD})" ELSE NO)
endif() endif()
# ========================== samples and tests ========================== # ========================== samples and tests ==========================

View File

@ -1,25 +1,11 @@
# #-----------------------
# CMake file for OpenCV docs # 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) 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 # build lists of modules to be documented
set(BASE_MODULES "") set(BASE_MODULES "")
set(EXTRA_MODULES "") set(EXTRA_MODULES "")
@ -32,18 +18,29 @@ if(BUILD_DOCS AND HAVE_SPHINX)
list(APPEND EXTRA_MODULES ${mod}) list(APPEND EXTRA_MODULES ${mod})
endif() endif()
endforeach() endforeach()
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})
ocv_list_sort(BASE_MODULES) ocv_list_sort(BASE_MODULES)
ocv_list_sort(EXTRA_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}) set(BASE_MODULES ${FIXED_ORDER_MODULES} ${BASE_MODULES})
# build lists of documentation files and generate table of contents for reference manual 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)
# ========= 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 "${CMAKE_CURRENT_BINARY_DIR}/fake-root")
set(DOC_FAKE_ROOT_FILES "") set(DOC_FAKE_ROOT_FILES "")
@ -103,7 +100,6 @@ if(BUILD_DOCS AND HAVE_SPHINX)
if(PDFLATEX_COMPILER) if(PDFLATEX_COMPILER)
add_custom_target(docs add_custom_target(docs
COMMAND ${SPHINX_BUILD} ${BUILD_PLANTUML} -b latex -c "${CMAKE_CURRENT_SOURCE_DIR}" "${DOC_FAKE_ROOT}" . 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 ${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" opencv2refman.tex
COMMAND ${PYTHON_DEFAULT_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/patch_refman_latex.py" opencv2manager.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") set_target_properties(html_docs PROPERTIES FOLDER "documentation")
endif() 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}) foreach(f ${DOC_LIST})
install(FILES "${f}" DESTINATION "${OPENCV_DOC_INSTALL_PATH}" COMPONENT docs) install(FILES "${f}" DESTINATION "${OPENCV_DOC_INSTALL_PATH}" COMPONENT docs)
endforeach() endforeach()
foreach(f ${OPTIONAL_DOC_LIST}) foreach(f ${OPTIONAL_DOC_LIST})
install(FILES "${f}" DESTINATION "${OPENCV_DOC_INSTALL_PATH}" OPTIONAL COMPONENT docs) install(FILES "${f}" DESTINATION "${OPENCV_DOC_INSTALL_PATH}" OPTIONAL COMPONENT docs)
endforeach() endforeach()
endif(HAVE_DOC_GENERATOR)
endif()

View File

@ -1,124 +1,271 @@
# Doxyfile 1.3.9.1 DOXYFILE_ENCODING = UTF-8
PROJECT_NAME = OpenCV
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = opencv
PROJECT_NUMBER = @OPENCV_VERSION@ PROJECT_NUMBER = @OPENCV_VERSION@
OUTPUT_DIRECTORY = . PROJECT_BRIEF = "Open Source Computer Vision"
CREATE_SUBDIRS = NO PROJECT_LOGO = @CMAKE_CURRENT_SOURCE_DIR@/opencv-logo-small.png
OUTPUT_DIRECTORY = @CMAKE_DOXYGEN_OUTPUT_PATH@
CREATE_SUBDIRS = YES
OUTPUT_LANGUAGE = English OUTPUT_LANGUAGE = English
BRIEF_MEMBER_DESC = YES BRIEF_MEMBER_DESC = YES
SORT_BRIEF_DOCS = YES REPEAT_BRIEF = YES
#--------------------------------------------------------------------------- ABBREVIATE_BRIEF = "The $name class" \
# Build related configuration options "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 EXTRACT_ALL = YES
#--------------------------------------------------------------------------- EXTRACT_PRIVATE = NO
# configuration options related to warning and progress messages 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 QUIET = NO
WARNINGS = YES WARNINGS = YES
WARN_IF_UNDOCUMENTED = YES WARN_IF_UNDOCUMENTED = YES
WARN_IF_DOC_ERROR = YES WARN_IF_DOC_ERROR = YES
WARN_NO_PARAMDOC = NO
WARN_FORMAT = "$file:$line: $text" WARN_FORMAT = "$file:$line: $text"
WARN_LOGFILE = WARN_LOGFILE =
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = @CMAKE_DOXYGEN_INPUT_LIST@ INPUT = @CMAKE_DOXYGEN_INPUT_LIST@
FILE_PATTERNS = *.cpp *.h* INPUT_ENCODING = UTF-8
RECURSIVE = NO FILE_PATTERNS =
RECURSIVE = YES
EXCLUDE = EXCLUDE =
EXCLUDE_SYMLINKS = NO EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS = EXCLUDE_PATTERNS =
EXCLUDE_SYMBOLS = CV_WRAP \
CV_EXPORTS \
CV_EXPORTS_W \
CV_WRAP_AS
EXAMPLE_PATH = EXAMPLE_PATH =
EXAMPLE_PATTERNS = EXAMPLE_PATTERNS = *
EXAMPLE_RECURSIVE = NO EXAMPLE_RECURSIVE = NO
IMAGE_PATH = @CMAKE_DOXYGEN_IMAGE_PATH@ IMAGE_PATH = @CMAKE_DOXYGEN_IMAGE_PATH@
INPUT_FILTER = INPUT_FILTER =
FILTER_PATTERNS = FILTER_PATTERNS =
FILTER_SOURCE_FILES = NO FILTER_SOURCE_FILES = NO
#--------------------------------------------------------------------------- FILTER_SOURCE_PATTERNS =
# configuration options related to the alphabetical class index USE_MDFILE_AS_MAINPAGE = @CMAKE_DOXYGEN_INDEX_MD@
#--------------------------------------------------------------------------- SOURCE_BROWSER = NO
ALPHABETICAL_INDEX = YES 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 COLS_IN_ALPHA_INDEX = 5
IGNORE_PREFIX = IGNORE_PREFIX =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
GENERATE_HTML = YES GENERATE_HTML = YES
HTML_OUTPUT = html HTML_OUTPUT = html
HTML_FILE_EXTENSION = .html HTML_FILE_EXTENSION = .html
HTML_HEADER =
#--------------------------------------------------------------------------- HTML_FOOTER =
# configuration options related to the LaTeX output HTML_STYLESHEET =
#--------------------------------------------------------------------------- HTML_EXTRA_STYLESHEET =
GENERATE_LATEX = NO HTML_EXTRA_FILES =
#--------------------------------------------------------------------------- HTML_COLORSTYLE_HUE = 220
# configuration options related to the RTF output 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 GENERATE_RTF = NO
#--------------------------------------------------------------------------- RTF_OUTPUT = rtf
# configuration options related to the man page output COMPACT_RTF = NO
#--------------------------------------------------------------------------- RTF_HYPERLINKS = NO
RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE =
GENERATE_MAN = NO GENERATE_MAN = NO
#--------------------------------------------------------------------------- MAN_OUTPUT = man
# configuration options related to the XML output MAN_EXTENSION = .3
#--------------------------------------------------------------------------- MAN_LINKS = NO
GENERATE_XML = NO GENERATE_XML = NO
#--------------------------------------------------------------------------- XML_OUTPUT = xml
# configuration options for the AutoGen Definitions output XML_PROGRAMLISTING = YES
#--------------------------------------------------------------------------- GENERATE_DOCBOOK = NO
DOCBOOK_OUTPUT = docbook
GENERATE_AUTOGEN_DEF = NO GENERATE_AUTOGEN_DEF = NO
#---------------------------------------------------------------------------
# configuration options related to the Perl module output
#---------------------------------------------------------------------------
GENERATE_PERLMOD = NO GENERATE_PERLMOD = NO
#--------------------------------------------------------------------------- PERLMOD_LATEX = NO
# Configuration options related to the preprocessor PERLMOD_PRETTY = YES
#--------------------------------------------------------------------------- PERLMOD_MAKEVAR_PREFIX =
ENABLE_PREPROCESSING = YES ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = YES MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = YES EXPAND_ONLY_PREDEF = NO
PREDEFINED = CV_EXPORTS= CVAPI(x)=x __cplusplus=1 SEARCH_INCLUDES = YES
SEARCH_INCLUDES = NO
INCLUDE_PATH = INCLUDE_PATH =
INCLUDE_FILE_PATTERNS = INCLUDE_FILE_PATTERNS =
PREDEFINED = CV_WRAP= \
__cplusplus=1 \
CVAPI(x)=x \
CV_PROP_RW= \
CV_EXPORTS= \
CV_EXPORTS_W=
EXPAND_AS_DEFINED = EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration::additions related to external references
#---------------------------------------------------------------------------
TAGFILES = TAGFILES =
GENERATE_TAGFILE = GENERATE_TAGFILE =
ALLEXTERNALS = NO ALLEXTERNALS = NO
EXTERNAL_GROUPS = YES EXTERNAL_GROUPS = YES
EXTERNAL_PAGES = YES
PERL_PATH = /usr/bin/perl PERL_PATH = /usr/bin/perl
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = YES CLASS_DIAGRAMS = YES
HIDE_UNDOC_RELATIONS = YES MSCGEN_PATH =
DIA_PATH =
HIDE_UNDOC_RELATIONS = NO
HAVE_DOT = NO HAVE_DOT = NO
DOT_NUM_THREADS = 0
DOT_FONTNAME = Helvetica
DOT_FONTSIZE = 10
DOT_FONTPATH =
CLASS_GRAPH = YES CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES COLLABORATION_GRAPH = YES
UML_LOOK = NO GROUP_GRAPHS = YES
UML_LOOK = YES
UML_LIMIT_NUM_FIELDS = 10
TEMPLATE_RELATIONS = YES TEMPLATE_RELATIONS = YES
INCLUDE_GRAPH = YES INCLUDE_GRAPH = YES
INCLUDED_BY_GRAPH = YES INCLUDED_BY_GRAPH = YES
CALL_GRAPH = NO CALL_GRAPH = YES
CALLER_GRAPH = NO
GRAPHICAL_HIERARCHY = YES GRAPHICAL_HIERARCHY = YES
DOT_IMAGE_FORMAT = png DIRECTORY_GRAPH = YES
DOT_IMAGE_FORMAT = svg
INTERACTIVE_SVG = YES
DOT_PATH = DOT_PATH =
DOTFILE_DIRS = DOTFILE_DIRS =
MAX_DOT_GRAPH_WIDTH = 1024 MSCFILE_DIRS =
MAX_DOT_GRAPH_HEIGHT = 1024 DIAFILE_DIRS =
DOT_GRAPH_MAX_NODES = 50
MAX_DOT_GRAPH_DEPTH = 0 MAX_DOT_GRAPH_DEPTH = 0
DOT_TRANSPARENT = NO
DOT_MULTI_TARGETS = NO
GENERATE_LEGEND = YES GENERATE_LEGEND = YES
DOT_CLEANUP = YES DOT_CLEANUP = YES
#---------------------------------------------------------------------------
# Configuration::additions related to the search engine
#---------------------------------------------------------------------------
SEARCHENGINE = YES

191
doc/DoxygenLayout.xml Normal file
View File

@ -0,0 +1,191 @@
<doxygenlayout version="1.0">
<!-- Generated by doxygen 1.8.6 -->
<!-- Navigation index tabs for HTML output -->
<navindex>
<tab type="mainpage" visible="yes" title=""/>
<tab type="pages" visible="yes" title="" intro=""/>
<tab type="modules" visible="yes" title="" intro=""/>
<tab type="namespaces" visible="yes" title="">
<tab type="namespacelist" visible="yes" title="" intro=""/>
</tab>
<tab type="classes" visible="yes" title="">
<tab type="classlist" visible="yes" title="" intro=""/>
<tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
</tab>
<tab type="files" visible="yes" title="">
<tab type="filelist" visible="yes" title="Files index" intro=""/>
<tab type="globals" visible="yes" title="Global objects" intro=""/>
</tab>
<tab type="examples" visible="yes" title="" intro=""/>
</navindex>
<!-- Layout definition for a class page -->
<class>
<briefdescription visible="yes"/>
<includes visible="$SHOW_INCLUDE_FILES"/>
<inheritancegraph visible="$CLASS_GRAPH"/>
<collaborationgraph visible="$COLLABORATION_GRAPH"/>
<memberdecl>
<nestedclasses visible="yes" title=""/>
<publictypes title=""/>
<services title=""/>
<interfaces title=""/>
<publicslots title=""/>
<signals title=""/>
<publicmethods title=""/>
<publicstaticmethods title=""/>
<publicattributes title=""/>
<publicstaticattributes title=""/>
<protectedtypes title=""/>
<protectedslots title=""/>
<protectedmethods title=""/>
<protectedstaticmethods title=""/>
<protectedattributes title=""/>
<protectedstaticattributes title=""/>
<packagetypes title=""/>
<packagemethods title=""/>
<packagestaticmethods title=""/>
<packageattributes title=""/>
<packagestaticattributes title=""/>
<properties title=""/>
<events title=""/>
<privatetypes title=""/>
<privateslots title=""/>
<privatemethods title=""/>
<privatestaticmethods title=""/>
<privateattributes title=""/>
<privatestaticattributes title=""/>
<friends title=""/>
<related title="" subtitle=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<inlineclasses title=""/>
<typedefs title=""/>
<enums title=""/>
<services title=""/>
<interfaces title=""/>
<constructors title=""/>
<functions title=""/>
<related title=""/>
<variables title=""/>
<properties title=""/>
<events title=""/>
</memberdef>
<allmemberslink visible="yes"/>
<usedfiles visible="$SHOW_USED_FILES"/>
<authorsection visible="yes"/>
</class>
<!-- Layout definition for a namespace page -->
<namespace>
<briefdescription visible="yes"/>
<memberdecl>
<nestednamespaces visible="yes" title=""/>
<constantgroups visible="yes" title=""/>
<classes visible="yes" title=""/>
<typedefs title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<inlineclasses title=""/>
<typedefs title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
</memberdef>
<authorsection visible="yes"/>
</namespace>
<!-- Layout definition for a file page -->
<file>
<briefdescription visible="yes"/>
<includes visible="$SHOW_INCLUDE_FILES"/>
<includegraph visible="$INCLUDE_GRAPH"/>
<includedbygraph visible="$INCLUDED_BY_GRAPH"/>
<sourcelink visible="yes"/>
<memberdecl>
<classes visible="yes" title=""/>
<namespaces visible="yes" title=""/>
<constantgroups visible="yes" title=""/>
<defines title=""/>
<typedefs title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<inlineclasses title=""/>
<defines title=""/>
<typedefs title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
</memberdef>
<authorsection/>
</file>
<!-- Layout definition for a group page -->
<group>
<briefdescription visible="yes"/>
<groupgraph visible="$GROUP_GRAPHS"/>
<memberdecl>
<nestedgroups visible="yes" title=""/>
<dirs visible="yes" title=""/>
<files visible="yes" title=""/>
<namespaces visible="yes" title=""/>
<classes visible="yes" title=""/>
<defines title=""/>
<typedefs title=""/>
<enums title=""/>
<enumvalues title=""/>
<functions title=""/>
<variables title=""/>
<signals title=""/>
<publicslots title=""/>
<protectedslots title=""/>
<privateslots title=""/>
<events title=""/>
<properties title=""/>
<friends title=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<pagedocs/>
<inlineclasses title=""/>
<defines title=""/>
<typedefs title=""/>
<enums title=""/>
<enumvalues title=""/>
<functions title=""/>
<variables title=""/>
<signals title=""/>
<publicslots title=""/>
<protectedslots title=""/>
<privateslots title=""/>
<events title=""/>
<properties title=""/>
<friends title=""/>
</memberdef>
<authorsection visible="yes"/>
</group>
<!-- Layout definition for a directory page -->
<directory>
<briefdescription visible="yes"/>
<directorygraph visible="yes"/>
<memberdecl>
<dirs visible="yes"/>
<files visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
</directory>
</doxygenlayout>

BIN
doc/opencv-logo-small.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -102,10 +102,10 @@ public:
By default the function prints information about the error to stderr, 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. then it either stops if setBreakOnError() had been called before or raises the exception.
It is possible to alternate error processing by using redirectError(). It is possible to alternate error processing by using redirectError().
\param exc the exception raisen. \param exc the exception raisen.
\todo drop this version
*/ */
//TODO: drop this version
CV_EXPORTS void error( const Exception& exc ); 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, CV_EXPORTS_W void inRange(InputArray src, InputArray lowerb,
InputArray upperb, OutputArray dst); InputArray upperb, OutputArray dst);
//! compares elements of two arrays (dst = src1 <cmpop> src2) //! compares elements of two arrays (dst = src1 \<cmpop\> src2)
CV_EXPORTS_W void compare(InputArray src1, InputArray src2, OutputArray dst, int cmpop); CV_EXPORTS_W void compare(InputArray src1, InputArray src2, OutputArray dst, int cmpop);
//! computes per-element minimum of two arrays (dst = min(src1, src2)) //! computes per-element minimum of two arrays (dst = min(src1, src2))

View File

@ -48,6 +48,8 @@
#include <opencv2/core.hpp> #include <opencv2/core.hpp>
/*! @file */
namespace cv namespace cv
{ {
template<typename T> template<typename T>
@ -429,6 +431,7 @@ cv::Affine3<Y> cv::Affine3<T>::cast() const
return Affine3<Y>(matrix); return Affine3<Y>(matrix);
} }
/** @cond IGNORED */
template<typename T> inline template<typename T> inline
cv::Affine3<T> cv::operator*(const cv::Affine3<T>& affine1, const cv::Affine3<T>& affine2) cv::Affine3<T> cv::operator*(const cv::Affine3<T>& affine1, const cv::Affine3<T>& affine2)
{ {
@ -446,6 +449,7 @@ V cv::operator*(const cv::Affine3<T>& affine, const V& v)
r.z = m.val[8] * v.x + m.val[9] * v.y + m.val[10] * v.z + m.val[11]; r.z = m.val[8] * v.x + m.val[9] * v.y + m.val[10] * v.z + m.val[11];
return r; return r;
} }
/** @endcond */
static inline static inline
cv::Vec3f cv::operator*(const cv::Affine3f& affine, const cv::Vec3f& v) cv::Vec3f cv::operator*(const cv::Affine3f& affine, const cv::Vec3f& v)

View File

@ -235,13 +235,15 @@ enum {
#define CV_SUPPRESS_DEPRECATED_END #define CV_SUPPRESS_DEPRECATED_END
#endif #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, 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. then it either stops if setBreakOnError() had been called before or raises the exception.
It is possible to alternate error processing by using redirectError(). It is possible to alternate error processing by using redirectError().
@param _code - error code @see CVStatus
\param exc the exception raisen. @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); CV_EXPORTS void error(int _code, const String& _err, const char* _func, const char* _file, int _line);

View File

@ -224,6 +224,7 @@ const _Tp* GpuMat::ptr(int y) const
return (const _Tp*)ptr(y); return (const _Tp*)ptr(y);
} }
/** @cond IGNORED */
template <class T> inline template <class T> inline
GpuMat::operator PtrStepSz<T>() const GpuMat::operator PtrStepSz<T>() const
{ {
@ -235,6 +236,7 @@ GpuMat::operator PtrStep<T>() const
{ {
return PtrStep<T>((T*)data, step); return PtrStep<T>((T*)data, step);
} }
/** @endcond */
inline inline
GpuMat GpuMat::row(int y) const GpuMat GpuMat::row(int y) const

View File

@ -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 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. 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: 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() addr(M_{ij})=M.data + M.step*i + j*M.elemSize()
@ -962,9 +960,8 @@ protected:
\endcode \endcode
While cv::Mat is sufficient in most cases, cv::Mat_ can be more convenient if you use a lot of element 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. access operations and if you know matrix type at compile time. Note that cv::Mat::at and
Note that cv::Mat::at<_Tp>(int y, int x) and cv::Mat_<_Tp>::operator ()(int y, int x) do absolutely the cv::Mat::operator() do absolutely the same thing and run at the same speed, but the latter is certainly shorter:
same thing and run at the same speed, but the latter is certainly shorter:
\code \code
Mat_<double> M(20,20); Mat_<double> M(20,20);
@ -1514,9 +1511,13 @@ public:
void convertTo( SparseMat& m, int rtype, double alpha=1 ) const; void convertTo( SparseMat& m, int rtype, double alpha=1 ) const;
//! converts sparse matrix to dense n-dim matrix with optional type conversion and scaling. //! 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 [out] m - output matrix; if it does not have a proper size or type before the operation,
\param alpha The scale factor it is reallocated
\param beta The optional delta added to the scaled values before the conversion @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; void convertTo( Mat& m, int rtype, double alpha=1, double beta=0 ) const;

View File

@ -185,9 +185,6 @@ public:
_Tp val[m*n]; //< matrix elements _Tp val[m*n]; //< matrix elements
}; };
/*!
\typedef
*/
typedef Matx<float, 1, 2> Matx12f; typedef Matx<float, 1, 2> Matx12f;
typedef Matx<double, 1, 2> Matx12d; typedef Matx<double, 1, 2> Matx12d;
typedef Matx<float, 1, 3> Matx13f; typedef Matx<float, 1, 3> Matx13f;
@ -631,6 +628,7 @@ double Matx<_Tp, m, n>::ddot(const Matx<_Tp, m, n>& M) const
return s; return s;
} }
/** @cond IGNORED */
template<typename _Tp, int m, int n> inline template<typename _Tp, int m, int n> inline
Matx<_Tp,m,n> Matx<_Tp,m,n>::diag(const typename Matx<_Tp,m,n>::diag_type& d) 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); M(i,i) = d(i, 0);
return M; return M;
} }
/** @endcond */
template<typename _Tp, int m, int n> template<typename T2> template<typename _Tp, int m, int n> template<typename T2>
inline Matx<_Tp, m, n>::operator Matx<T2, m, n>() const inline Matx<_Tp, m, n>::operator Matx<T2, m, n>() const

View File

@ -84,15 +84,9 @@ public:
_Tp re, im; //< the real and the imaginary parts _Tp re, im; //< the real and the imaginary parts
}; };
/*!
\typedef
*/
typedef Complex<float> Complexf; typedef Complex<float> Complexf;
typedef Complex<double> Complexd; typedef Complex<double> Complexd;
/*!
traits
*/
template<typename _Tp> class DataType< Complex<_Tp> > template<typename _Tp> class DataType< Complex<_Tp> >
{ {
public: public:
@ -151,17 +145,11 @@ public:
_Tp x, y; //< the point coordinates _Tp x, y; //< the point coordinates
}; };
/*!
\typedef
*/
typedef Point_<int> Point2i; typedef Point_<int> Point2i;
typedef Point_<float> Point2f; typedef Point_<float> Point2f;
typedef Point_<double> Point2d; typedef Point_<double> Point2d;
typedef Point2i Point; typedef Point2i Point;
/*!
traits
*/
template<typename _Tp> class DataType< Point_<_Tp> > template<typename _Tp> class DataType< Point_<_Tp> >
{ {
public: public:
@ -219,16 +207,10 @@ public:
_Tp x, y, z; //< the point coordinates _Tp x, y, z; //< the point coordinates
}; };
/*!
\typedef
*/
typedef Point3_<int> Point3i; typedef Point3_<int> Point3i;
typedef Point3_<float> Point3f; typedef Point3_<float> Point3f;
typedef Point3_<double> Point3d; typedef Point3_<double> Point3d;
/*!
traits
*/
template<typename _Tp> class DataType< Point3_<_Tp> > template<typename _Tp> class DataType< Point3_<_Tp> >
{ {
public: public:
@ -277,17 +259,11 @@ public:
_Tp width, height; // the width and the height _Tp width, height; // the width and the height
}; };
/*!
\typedef
*/
typedef Size_<int> Size2i; typedef Size_<int> Size2i;
typedef Size_<float> Size2f; typedef Size_<float> Size2f;
typedef Size_<double> Size2d; typedef Size_<double> Size2d;
typedef Size2i Size; typedef Size2i Size;
/*!
traits
*/
template<typename _Tp> class DataType< Size_<_Tp> > template<typename _Tp> class DataType< Size_<_Tp> >
{ {
public: public:
@ -347,17 +323,11 @@ public:
_Tp x, y, width, height; //< the top-left corner, as well as width and height of the rectangle _Tp x, y, width, height; //< the top-left corner, as well as width and height of the rectangle
}; };
/*!
\typedef
*/
typedef Rect_<int> Rect2i; typedef Rect_<int> Rect2i;
typedef Rect_<float> Rect2f; typedef Rect_<float> Rect2f;
typedef Rect_<double> Rect2d; typedef Rect_<double> Rect2d;
typedef Rect2i Rect; typedef Rect2i Rect;
/*!
traits
*/
template<typename _Tp> class DataType< Rect_<_Tp> > template<typename _Tp> class DataType< Rect_<_Tp> >
{ {
public: 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. 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 > template<> class DataType< RotatedRect >
{ {
public: public:
@ -445,9 +412,6 @@ public:
int start, end; int start, end;
}; };
/*!
traits
*/
template<> class DataType<Range> template<> class DataType<Range>
{ {
public: public:
@ -502,14 +466,8 @@ public:
bool isReal() const; bool isReal() const;
}; };
/*!
\typedef
*/
typedef Scalar_<double> Scalar; typedef Scalar_<double> Scalar;
/*!
traits
*/
template<typename _Tp> class DataType< Scalar_<_Tp> > template<typename _Tp> class DataType< Scalar_<_Tp> >
{ {
public: 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) 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<KeyPoint> template<> class DataType<KeyPoint>
{ {
public: public:
@ -623,9 +578,6 @@ public:
bool operator<(const DMatch &m) const; bool operator<(const DMatch &m) const;
}; };
/*!
traits
*/
template<> class DataType<DMatch> template<> class DataType<DMatch>
{ {
public: public:
@ -695,9 +647,6 @@ public:
CV_PROP_RW double nu20, nu11, nu02, nu30, nu21, nu12, nu03; CV_PROP_RW double nu20, nu11, nu02, nu30, nu21, nu12, nu03;
}; };
/*!
traits
*/
template<> class DataType<Moments> template<> class DataType<Moments>
{ {
public: public:

View File

@ -57,14 +57,14 @@ namespace cvflann {
class DynamicBitset class DynamicBitset
{ {
public: public:
/** @param default constructor /** default constructor
*/ */
DynamicBitset() DynamicBitset()
{ {
} }
/** @param only constructor we use in our code /** only constructor we use in our code
* @param the size of the bitset (in bits) * @param sz the size of the bitset (in bits)
*/ */
DynamicBitset(size_t sz) DynamicBitset(size_t sz)
{ {
@ -87,7 +87,7 @@ public:
return bitset_.empty(); return bitset_.empty();
} }
/** @param set all the bits to 0 /** set all the bits to 0
*/ */
void reset() void reset()
{ {
@ -95,7 +95,7 @@ public:
} }
/** @brief set one bit to 0 /** @brief set one bit to 0
* @param * @param index
*/ */
void reset(size_t 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 * 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 * whole bitset ends up being 0: if that's the case, we don't care about setting
* other bits to 0 * other bits to 0
* @param * @param index
*/ */
void reset_block(size_t index) void reset_block(size_t index)
{ {
bitset_[index / cell_bit_size_] = 0; bitset_[index / cell_bit_size_] = 0;
} }
/** @param resize the bitset so that it contains at least size bits /** resize the bitset so that it contains at least sz bits
* @param size * @param sz
*/ */
void resize(size_t sz) void resize(size_t sz)
{ {
@ -122,7 +122,7 @@ public:
bitset_.resize(sz / cell_bit_size_ + 1); 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 * @param index the index of the bit to set to 1
*/ */
void set(size_t index) void set(size_t index)
@ -130,14 +130,14 @@ public:
bitset_[index / cell_bit_size_] |= size_t(1) << (index % cell_bit_size_); 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 size_t size() const
{ {
return size_; return size_;
} }
/** @param check if a bit is set /** check if a bit is set
* @param index the index of the bit to check * @param index the index of the bit to check
* @return true if the bit is set * @return true if the bit is set
*/ */

View File

@ -153,8 +153,10 @@ public:
* @param feature_size is the size of the feature (considered as a ElementType[]) * @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 * @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; std::cerr << "LSH is not implemented for that type" << std::endl;
assert(0); assert(0);
} }

View File

@ -449,7 +449,7 @@ class RadiusUniqueResultSet : public UniqueResultSet<DistanceType>
{ {
public: public:
/** Constructor /** Constructor
* @param capacity the number of neighbors to store at max * @param radius the maximum distance of a neighbor
*/ */
RadiusUniqueResultSet(DistanceType radius) : RadiusUniqueResultSet(DistanceType radius) :
radius_(radius) radius_(radius)
@ -509,6 +509,7 @@ class KNNRadiusUniqueResultSet : public KNNUniqueResultSet<DistanceType>
public: public:
/** Constructor /** Constructor
* @param capacity the number of neighbors to store at max * @param capacity the number of neighbors to store at max
* @param radius the maximum distance of a neighbor
*/ */
KNNRadiusUniqueResultSet(unsigned int capacity, DistanceType radius) KNNRadiusUniqueResultSet(unsigned int capacity, DistanceType radius)
{ {

View File

@ -698,8 +698,7 @@ public:
/** /**
* Draw lines on the given canvas. * 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 * Should have the size of the image, where the lines were found
* @param lines The lines that need to be drawn * @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. * 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 size The size of the image, where lines were found.
* @param lines1 The first lines that need to be drawn. Color - Blue. * @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 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 * Should have the size of the image, where the lines were found
* @return The number of mismatching pixels between lines1 and lines2. * @return The number of mismatching pixels between lines1 and lines2.
*/ */

View File

@ -110,7 +110,7 @@ CV_EXPORTS_W double findTransformECC( InputArray templateImage, InputArray input
/*! /*!
Kalman filter. 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 However, you can modify KalmanFilter::transitionMatrix, KalmanFilter::controlMatrix and
KalmanFilter::measurementMatrix to get the extended Kalman filter functionality. KalmanFilter::measurementMatrix to get the extended Kalman filter functionality.
*/ */