diff --git a/doc/tutorials/calib3d/camera_calibration/camera_calibration.markdown b/doc/tutorials/calib3d/camera_calibration/camera_calibration.markdown index 6ce791cd0a6caca3e3a9a2243377f7d6a9535f28..1c13f9b925ad83435f926e1b9b1fced7561a60a7 100644 --- a/doc/tutorials/calib3d/camera_calibration/camera_calibration.markdown +++ b/doc/tutorials/calib3d/camera_calibration/camera_calibration.markdown @@ -1,6 +1,10 @@ Camera calibration With OpenCV {#tutorial_camera_calibration} ============================== +@prev_tutorial{tutorial_camera_calibration_square_chess} +@next_tutorial{tutorial_real_time_pose} + + Cameras have been around for a long-long time. However, with the introduction of the cheap *pinhole* cameras in the late 20th century, they became a common occurrence in our everyday life. Unfortunately, this cheapness comes with its price: significant distortion. Luckily, these are diff --git a/doc/tutorials/calib3d/camera_calibration_pattern/camera_calibration_pattern.markdown b/doc/tutorials/calib3d/camera_calibration_pattern/camera_calibration_pattern.markdown index fba4f5a4cc8e5c9e0867e22058653e02467bc662..754e75b3d3b51ea26c66d5821e439625efb7f799 100644 --- a/doc/tutorials/calib3d/camera_calibration_pattern/camera_calibration_pattern.markdown +++ b/doc/tutorials/calib3d/camera_calibration_pattern/camera_calibration_pattern.markdown @@ -1,6 +1,9 @@ Create calibration pattern {#tutorial_camera_calibration_pattern} ========================================= +@next_tutorial{tutorial_camera_calibration_square_chess} + + The goal of this tutorial is to learn how to create calibration pattern. You can find a chessboard pattern in https://github.com/opencv/opencv/blob/3.4/doc/pattern.png diff --git a/doc/tutorials/calib3d/camera_calibration_square_chess/camera_calibration_square_chess.markdown b/doc/tutorials/calib3d/camera_calibration_square_chess/camera_calibration_square_chess.markdown index bf1eadca1fb6d2f48a049de85924fc103c8334ee..51b0a5eac79e761438f5e0637ade87eb61746bd0 100644 --- a/doc/tutorials/calib3d/camera_calibration_square_chess/camera_calibration_square_chess.markdown +++ b/doc/tutorials/calib3d/camera_calibration_square_chess/camera_calibration_square_chess.markdown @@ -1,6 +1,10 @@ Camera calibration with square chessboard {#tutorial_camera_calibration_square_chess} ========================================= +@prev_tutorial{tutorial_camera_calibration_pattern} +@next_tutorial{tutorial_camera_calibration} + + The goal of this tutorial is to learn how to calibrate a camera given a set of chessboard images. *Test data*: use images in your data/chess folder. diff --git a/doc/tutorials/calib3d/interactive_calibration/interactive_calibration.markdown b/doc/tutorials/calib3d/interactive_calibration/interactive_calibration.markdown index 8280262cdd5d342957d57dfe19eed23c9ac5cb7a..36e19e0754b4cf33f5b7b2041fb251ae059ff735 100644 --- a/doc/tutorials/calib3d/interactive_calibration/interactive_calibration.markdown +++ b/doc/tutorials/calib3d/interactive_calibration/interactive_calibration.markdown @@ -1,6 +1,9 @@ Interactive camera calibration application {#tutorial_interactive_calibration} ============================== +@prev_tutorial{tutorial_real_time_pose} + + According to classical calibration technique user must collect all data first and when run @ref cv::calibrateCamera function to obtain camera parameters. If average re-projection error is huge or if estimated parameters seems to be wrong, process of selection or collecting data and starting of @ref cv::calibrateCamera repeats. diff --git a/doc/tutorials/calib3d/real_time_pose/real_time_pose.markdown b/doc/tutorials/calib3d/real_time_pose/real_time_pose.markdown index f61fa7a8b4ea4a5f0667e2e52e89667de8a6564b..98a44b232b9e3aeead9b551590500987d1888083 100644 --- a/doc/tutorials/calib3d/real_time_pose/real_time_pose.markdown +++ b/doc/tutorials/calib3d/real_time_pose/real_time_pose.markdown @@ -1,6 +1,10 @@ Real Time pose estimation of a textured object {#tutorial_real_time_pose} ============================================== +@prev_tutorial{tutorial_camera_calibration} +@next_tutorial{tutorial_interactive_calibration} + + Nowadays, augmented reality is one of the top research topic in computer vision and robotics fields. The most elemental problem in augmented reality is the estimation of the camera pose respect of an object in the case of computer vision area to do later some 3D rendering or in the case of robotics diff --git a/doc/tutorials/dnn/dnn_android/dnn_android.markdown b/doc/tutorials/dnn/dnn_android/dnn_android.markdown index 1a3f9224a9819a25ad61b452a7f6946219781247..cd816720db6ff3b6e6fbc08ed28d2aeccd8837d9 100644 --- a/doc/tutorials/dnn/dnn_android/dnn_android.markdown +++ b/doc/tutorials/dnn/dnn_android/dnn_android.markdown @@ -1,5 +1,8 @@ # How to run deep networks on Android device {#tutorial_dnn_android} +@prev_tutorial{tutorial_dnn_halide_scheduling} +@next_tutorial{tutorial_dnn_yolo} + ## Introduction In this tutorial you'll know how to run deep learning networks on Android device using OpenCV deep learning module. diff --git a/doc/tutorials/dnn/dnn_custom_layers/dnn_custom_layers.md b/doc/tutorials/dnn/dnn_custom_layers/dnn_custom_layers.md index 0486b31e14c73507d080d64aac64678f618d688c..a3f521d5df67117877ba9f536407fcb6a2323a10 100644 --- a/doc/tutorials/dnn/dnn_custom_layers/dnn_custom_layers.md +++ b/doc/tutorials/dnn/dnn_custom_layers/dnn_custom_layers.md @@ -1,5 +1,7 @@ # Custom deep learning layers support {#tutorial_dnn_custom_layers} +@prev_tutorial{tutorial_dnn_javascript} + ## Introduction Deep learning is a fast growing area. The new approaches to build neural networks usually introduce new types of layers. They could be modifications of existing diff --git a/doc/tutorials/dnn/dnn_googlenet/dnn_googlenet.markdown b/doc/tutorials/dnn/dnn_googlenet/dnn_googlenet.markdown index 4c5ebf9ee2db483decbac1b96a54fcde59bbc9c4..c5992c3280b8945671dd9e338930055cdc9931a2 100644 --- a/doc/tutorials/dnn/dnn_googlenet/dnn_googlenet.markdown +++ b/doc/tutorials/dnn/dnn_googlenet/dnn_googlenet.markdown @@ -1,6 +1,8 @@ Load Caffe framework models {#tutorial_dnn_googlenet} =========================== +@next_tutorial{tutorial_dnn_halide} + Introduction ------------ diff --git a/doc/tutorials/dnn/dnn_halide/dnn_halide.markdown b/doc/tutorials/dnn/dnn_halide/dnn_halide.markdown index 7271d08b6891bdccadfb1ab0fc6b06fd0b420b9a..5ab7774c1ef3d1dc0c10c7f8e999bf7302b71372 100644 --- a/doc/tutorials/dnn/dnn_halide/dnn_halide.markdown +++ b/doc/tutorials/dnn/dnn_halide/dnn_halide.markdown @@ -1,5 +1,8 @@ # How to enable Halide backend for improve efficiency {#tutorial_dnn_halide} +@prev_tutorial{tutorial_dnn_googlenet} +@next_tutorial{tutorial_dnn_halide_scheduling} + ## Introduction This tutorial guidelines how to run your models in OpenCV deep learning module using Halide language backend. Halide is an open-source project that let us diff --git a/doc/tutorials/dnn/dnn_halide_scheduling/dnn_halide_scheduling.markdown b/doc/tutorials/dnn/dnn_halide_scheduling/dnn_halide_scheduling.markdown index a43ab63e05a46ac89c4fb3d29573d11a5d490fe3..b825da792240d64986662860fd558f85fb395b49 100644 --- a/doc/tutorials/dnn/dnn_halide_scheduling/dnn_halide_scheduling.markdown +++ b/doc/tutorials/dnn/dnn_halide_scheduling/dnn_halide_scheduling.markdown @@ -1,5 +1,8 @@ # How to schedule your network for Halide backend {#tutorial_dnn_halide_scheduling} +@prev_tutorial{tutorial_dnn_halide} +@next_tutorial{tutorial_dnn_android} + ## Introduction Halide code is the same for every device we use. But for achieving the satisfied efficiency we should schedule computations properly. In this tutorial we describe diff --git a/doc/tutorials/dnn/dnn_javascript/dnn_javascript.markdown b/doc/tutorials/dnn/dnn_javascript/dnn_javascript.markdown index 0a9caeae35203742b89fd8fc1c1fbc684eeaf506..9ad632fbc81032747d40285d15f9cd6a90174024 100644 --- a/doc/tutorials/dnn/dnn_javascript/dnn_javascript.markdown +++ b/doc/tutorials/dnn/dnn_javascript/dnn_javascript.markdown @@ -1,5 +1,8 @@ # How to run deep networks in browser {#tutorial_dnn_javascript} +@prev_tutorial{tutorial_dnn_yolo} +@next_tutorial{tutorial_dnn_custom_layers} + ## Introduction This tutorial will show us how to run deep learning models using OpenCV.js right in a browser. Tutorial refers a sample of face detection and face recognition diff --git a/doc/tutorials/dnn/dnn_yolo/dnn_yolo.markdown b/doc/tutorials/dnn/dnn_yolo/dnn_yolo.markdown index 76bf0edd25086166c85711adf76acc4b6a72110f..443f58cb14c594a8f09c09aaea14264b39ac2f3f 100644 --- a/doc/tutorials/dnn/dnn_yolo/dnn_yolo.markdown +++ b/doc/tutorials/dnn/dnn_yolo/dnn_yolo.markdown @@ -1,6 +1,9 @@ YOLO DNNs {#tutorial_dnn_yolo} =============================== +@prev_tutorial{tutorial_dnn_android} +@next_tutorial{tutorial_dnn_javascript} + Introduction ------------ diff --git a/doc/tutorials/features2d/akaze_matching/akaze_matching.markdown b/doc/tutorials/features2d/akaze_matching/akaze_matching.markdown index d0f772439bc3da59ac39e6028e5acf37d040c862..406a1e6fc649ad49500ab7a2ee93bdd183002ab5 100644 --- a/doc/tutorials/features2d/akaze_matching/akaze_matching.markdown +++ b/doc/tutorials/features2d/akaze_matching/akaze_matching.markdown @@ -1,6 +1,9 @@ AKAZE local features matching {#tutorial_akaze_matching} ============================= +@prev_tutorial{tutorial_detection_of_planar_objects} +@next_tutorial{tutorial_akaze_tracking} + Introduction ------------ diff --git a/doc/tutorials/features2d/akaze_tracking/akaze_tracking.markdown b/doc/tutorials/features2d/akaze_tracking/akaze_tracking.markdown index 518cada76ad231157b914b1a99259d29ee66e406..58071ffd428650d76f12f5d8b8b51ad0629d70be 100644 --- a/doc/tutorials/features2d/akaze_tracking/akaze_tracking.markdown +++ b/doc/tutorials/features2d/akaze_tracking/akaze_tracking.markdown @@ -1,6 +1,9 @@ AKAZE and ORB planar tracking {#tutorial_akaze_tracking} ============================= +@prev_tutorial{tutorial_akaze_matching} +@next_tutorial{tutorial_homography} + Introduction ------------ diff --git a/doc/tutorials/features2d/detection_of_planar_objects/detection_of_planar_objects.markdown b/doc/tutorials/features2d/detection_of_planar_objects/detection_of_planar_objects.markdown index 4112b1873813e1845fe5cf6a8b69d2471765ce43..9febdb7acde86b066f03b42f2a29db25adeca617 100644 --- a/doc/tutorials/features2d/detection_of_planar_objects/detection_of_planar_objects.markdown +++ b/doc/tutorials/features2d/detection_of_planar_objects/detection_of_planar_objects.markdown @@ -1,6 +1,10 @@ Detection of planar objects {#tutorial_detection_of_planar_objects} =========================== +@prev_tutorial{tutorial_feature_homography} +@next_tutorial{tutorial_akaze_matching} + + The goal of this tutorial is to learn how to use *features2d* and *calib3d* modules for detecting known planar objects in scenes. diff --git a/doc/tutorials/features2d/feature_description/feature_description.markdown b/doc/tutorials/features2d/feature_description/feature_description.markdown index 01ec0de90edf54b10504dcef4a20bb1f59209241..22badd6e6ced9be1e4e763a3af3613fc6e7b3cd6 100644 --- a/doc/tutorials/features2d/feature_description/feature_description.markdown +++ b/doc/tutorials/features2d/feature_description/feature_description.markdown @@ -1,6 +1,9 @@ Feature Description {#tutorial_feature_description} =================== +@prev_tutorial{tutorial_feature_detection} +@next_tutorial{tutorial_feature_flann_matcher} + Goal ---- diff --git a/doc/tutorials/features2d/feature_detection/feature_detection.markdown b/doc/tutorials/features2d/feature_detection/feature_detection.markdown index bb2658633bdf2ad5af1642987a45c7c7f1135da9..686fadea61365eb34ced29472322b39b1d1ee246 100644 --- a/doc/tutorials/features2d/feature_detection/feature_detection.markdown +++ b/doc/tutorials/features2d/feature_detection/feature_detection.markdown @@ -1,6 +1,9 @@ Feature Detection {#tutorial_feature_detection} ================= +@prev_tutorial{tutorial_corner_subpixels} +@next_tutorial{tutorial_feature_description} + Goal ---- diff --git a/doc/tutorials/features2d/feature_flann_matcher/feature_flann_matcher.markdown b/doc/tutorials/features2d/feature_flann_matcher/feature_flann_matcher.markdown index 47ba7a0460f16e9e6edc73b42ab87f37ab87b590..35cdba974ed5ad0f9fe23adc39af2757f46854d1 100644 --- a/doc/tutorials/features2d/feature_flann_matcher/feature_flann_matcher.markdown +++ b/doc/tutorials/features2d/feature_flann_matcher/feature_flann_matcher.markdown @@ -1,6 +1,9 @@ Feature Matching with FLANN {#tutorial_feature_flann_matcher} =========================== +@prev_tutorial{tutorial_feature_description} +@next_tutorial{tutorial_feature_homography} + Goal ---- diff --git a/doc/tutorials/features2d/feature_homography/feature_homography.markdown b/doc/tutorials/features2d/feature_homography/feature_homography.markdown index 908f2c69a14148c2e183836408d1c9ec10c1b09a..53804718f2e7647d4e699e10d9fc170d17cff2e1 100644 --- a/doc/tutorials/features2d/feature_homography/feature_homography.markdown +++ b/doc/tutorials/features2d/feature_homography/feature_homography.markdown @@ -1,6 +1,9 @@ Features2D + Homography to find a known object {#tutorial_feature_homography} ============================================== +@prev_tutorial{tutorial_feature_flann_matcher} +@next_tutorial{tutorial_detection_of_planar_objects} + Goal ---- diff --git a/doc/tutorials/features2d/homography/homography.markdown b/doc/tutorials/features2d/homography/homography.markdown index 80c1984bdea587d40890d3ec314889242cdc0bb8..3d8f97c28b7f349e50fcc9471fc2762cf78e10a6 100644 --- a/doc/tutorials/features2d/homography/homography.markdown +++ b/doc/tutorials/features2d/homography/homography.markdown @@ -1,6 +1,8 @@ Basic concepts of the homography explained with code {#tutorial_homography} ==================================================== +@prev_tutorial{tutorial_akaze_tracking} + @tableofcontents Introduction {#tutorial_homography_Introduction} diff --git a/doc/tutorials/features2d/trackingmotion/corner_subpixels/corner_subpixels.markdown b/doc/tutorials/features2d/trackingmotion/corner_subpixels/corner_subpixels.markdown index 514fd332c07d799b0df9e93e3f5c402199e78b2c..db0a75b9cb2bdb156144c7c1fc71e828c756ad6e 100644 --- a/doc/tutorials/features2d/trackingmotion/corner_subpixels/corner_subpixels.markdown +++ b/doc/tutorials/features2d/trackingmotion/corner_subpixels/corner_subpixels.markdown @@ -1,6 +1,9 @@ Detecting corners location in subpixels {#tutorial_corner_subpixels} ======================================= +@prev_tutorial{tutorial_generic_corner_detector} +@next_tutorial{tutorial_feature_detection} + Goal ---- diff --git a/doc/tutorials/features2d/trackingmotion/generic_corner_detector/generic_corner_detector.markdown b/doc/tutorials/features2d/trackingmotion/generic_corner_detector/generic_corner_detector.markdown index aded0d1c98cb3bec48d3ad14e41733335b2ef71b..bb191126fb4f328306db961da4052d7bbeed6d6e 100644 --- a/doc/tutorials/features2d/trackingmotion/generic_corner_detector/generic_corner_detector.markdown +++ b/doc/tutorials/features2d/trackingmotion/generic_corner_detector/generic_corner_detector.markdown @@ -1,6 +1,10 @@ Creating your own corner detector {#tutorial_generic_corner_detector} ================================= +@prev_tutorial{tutorial_good_features_to_track} +@next_tutorial{tutorial_corner_subpixels} + + Goal ---- diff --git a/doc/tutorials/features2d/trackingmotion/good_features_to_track/good_features_to_track.markdown b/doc/tutorials/features2d/trackingmotion/good_features_to_track/good_features_to_track.markdown index 1c5c7029cf27be60e8cf858d014afdd1acdc4b15..a91872fe145b0e46aa9b65fa81382b4db1e99e01 100644 --- a/doc/tutorials/features2d/trackingmotion/good_features_to_track/good_features_to_track.markdown +++ b/doc/tutorials/features2d/trackingmotion/good_features_to_track/good_features_to_track.markdown @@ -1,6 +1,9 @@ Shi-Tomasi corner detector {#tutorial_good_features_to_track} ========================== +@prev_tutorial{tutorial_harris_detector} +@next_tutorial{tutorial_generic_corner_detector} + Goal ---- diff --git a/doc/tutorials/features2d/trackingmotion/harris_detector/harris_detector.markdown b/doc/tutorials/features2d/trackingmotion/harris_detector/harris_detector.markdown index a59a2ad3af52e3ca90b4dd6c86e1d126f0bd23b5..6855940b8c839021edb093285fdab920f73e3809 100644 --- a/doc/tutorials/features2d/trackingmotion/harris_detector/harris_detector.markdown +++ b/doc/tutorials/features2d/trackingmotion/harris_detector/harris_detector.markdown @@ -1,6 +1,8 @@ Harris corner detector {#tutorial_harris_detector} ====================== +@next_tutorial{tutorial_good_features_to_track} + Goal ---- diff --git a/doc/tutorials/gpu/gpu-basics-similarity/gpu_basics_similarity.markdown b/doc/tutorials/gpu/gpu-basics-similarity/gpu_basics_similarity.markdown index b511221a796953353ac42c8d91707299a67558c0..adc35fcf3cdef4b29c041d70b9277980e8a17f31 100644 --- a/doc/tutorials/gpu/gpu-basics-similarity/gpu_basics_similarity.markdown +++ b/doc/tutorials/gpu/gpu-basics-similarity/gpu_basics_similarity.markdown @@ -2,6 +2,8 @@ Similarity check (PNSR and SSIM) on the GPU {#tutorial_gpu_basics_similarity} =========================================== @todo update this tutorial +@next_tutorial{tutorial_gpu_thrust_interop} + Goal ---- diff --git a/doc/tutorials/gpu/gpu-thrust-interop/gpu_thrust_interop.markdown b/doc/tutorials/gpu/gpu-thrust-interop/gpu_thrust_interop.markdown index 0332808cbb5bd8bd54f82596a1d6cc44181b3258..7067e6da0acb722904ac28329973af02fd8d4e0f 100644 --- a/doc/tutorials/gpu/gpu-thrust-interop/gpu_thrust_interop.markdown +++ b/doc/tutorials/gpu/gpu-thrust-interop/gpu_thrust_interop.markdown @@ -1,6 +1,8 @@ Using a cv::cuda::GpuMat with thrust {#tutorial_gpu_thrust_interop} =========================================== +@prev_tutorial{tutorial_gpu_basics_similarity} + Goal ---- diff --git a/doc/tutorials/introduction/android_binary_package/O4A_SDK.markdown b/doc/tutorials/introduction/android_binary_package/O4A_SDK.markdown index 57e4c3fe1552dd526adb1e7542c86080290b0f1b..d386d1877d3ffdad830e3572c90b8b7b5f7d05bc 100644 --- a/doc/tutorials/introduction/android_binary_package/O4A_SDK.markdown +++ b/doc/tutorials/introduction/android_binary_package/O4A_SDK.markdown @@ -1,6 +1,10 @@ OpenCV4Android SDK {#tutorial_O4A_SDK} ================== +@prev_tutorial{tutorial_android_dev_intro} +@next_tutorial{tutorial_dev_with_OCV_on_Android} + + This tutorial was designed to help you with installation and configuration of OpenCV4Android SDK. This guide was written with MS Windows 7 in mind, though it should work with GNU Linux and Apple Mac diff --git a/doc/tutorials/introduction/android_binary_package/android_dev_intro.markdown b/doc/tutorials/introduction/android_binary_package/android_dev_intro.markdown index 5d43b229d69bbc66faa3ab8ea9f48a37463e426e..dc153d3c95657d8ee0efd7a883ae5abe4b9fd663 100644 --- a/doc/tutorials/introduction/android_binary_package/android_dev_intro.markdown +++ b/doc/tutorials/introduction/android_binary_package/android_dev_intro.markdown @@ -1,6 +1,10 @@ Introduction into Android Development {#tutorial_android_dev_intro} ===================================== +@prev_tutorial{tutorial_clojure_dev_intro} +@next_tutorial{tutorial_O4A_SDK} + + This guide was designed to help you in learning Android development basics and setting up your working environment quickly. It was written with Windows 7 in mind, though it would work with Linux (Ubuntu), Mac OS X and any other OS supported by Android SDK. diff --git a/doc/tutorials/introduction/android_binary_package/android_ocl_intro.markdown b/doc/tutorials/introduction/android_binary_package/android_ocl_intro.markdown index 4bd1bc644562cfc949fbfd527143c72f2454b9b1..3b37e548977e11f88ad161dd67083ed26a2f177c 100644 --- a/doc/tutorials/introduction/android_binary_package/android_ocl_intro.markdown +++ b/doc/tutorials/introduction/android_binary_package/android_ocl_intro.markdown @@ -1,6 +1,10 @@ Use OpenCL in Android camera preview based CV application {#tutorial_android_ocl_intro} ===================================== +@prev_tutorial{tutorial_dev_with_OCV_on_Android} +@next_tutorial{tutorial_macos_install} + + This guide was designed to help you in use of [OpenCL ™](https://www.khronos.org/opencl/) in Android camera preview based CV application. It was written for [Eclipse-based ADT tools](http://developer.android.com/tools/help/adt.html) (deprecated by Google now), but it easily can be reproduced with [Android Studio](http://developer.android.com/tools/studio/index.html). diff --git a/doc/tutorials/introduction/android_binary_package/dev_with_OCV_on_Android.markdown b/doc/tutorials/introduction/android_binary_package/dev_with_OCV_on_Android.markdown index cd24514f26a388cde7e07869cbacc45e37a4f912..6f9e6bdb9085e797dbc9ec28884ebe81a775bc58 100644 --- a/doc/tutorials/introduction/android_binary_package/dev_with_OCV_on_Android.markdown +++ b/doc/tutorials/introduction/android_binary_package/dev_with_OCV_on_Android.markdown @@ -1,6 +1,10 @@ Android Development with OpenCV {#tutorial_dev_with_OCV_on_Android} =============================== +@prev_tutorial{tutorial_O4A_SDK} +@next_tutorial{tutorial_android_ocl_intro} + + This tutorial has been created to help you use OpenCV library within your Android project. This guide was written with Windows 7 in mind, though it should work with any other OS supported by diff --git a/doc/tutorials/introduction/building_tegra_cuda/building_tegra_cuda.markdown b/doc/tutorials/introduction/building_tegra_cuda/building_tegra_cuda.markdown index fcee70c3c17a8e50d129210514516bf49c9f82da..983d012aef579994cf1a5afd50c659f4284b5991 100644 --- a/doc/tutorials/introduction/building_tegra_cuda/building_tegra_cuda.markdown +++ b/doc/tutorials/introduction/building_tegra_cuda/building_tegra_cuda.markdown @@ -1,6 +1,10 @@ Building OpenCV for Tegra with CUDA {#tutorial_building_tegra_cuda} =================================== +@prev_tutorial{tutorial_arm_crosscompile_with_cmake} +@next_tutorial{tutorial_display_image} + + @tableofcontents OpenCV with CUDA for Tegra diff --git a/doc/tutorials/introduction/clojure_dev_intro/clojure_dev_intro.markdown b/doc/tutorials/introduction/clojure_dev_intro/clojure_dev_intro.markdown index 1dd440cb470ca3cf9fcd0702f731064602bf76fa..a187da9d08b52aaa9065daa0bdc56d507eb4eec3 100644 --- a/doc/tutorials/introduction/clojure_dev_intro/clojure_dev_intro.markdown +++ b/doc/tutorials/introduction/clojure_dev_intro/clojure_dev_intro.markdown @@ -1,6 +1,10 @@ Introduction to OpenCV Development with Clojure {#tutorial_clojure_dev_intro} =============================================== +@prev_tutorial{tutorial_java_eclipse} +@next_tutorial{tutorial_android_dev_intro} + + As of OpenCV 2.4.4, OpenCV supports desktop Java development using nearly the same interface as for Android development. diff --git a/doc/tutorials/introduction/cross_referencing/tutorial_cross_referencing.markdown b/doc/tutorials/introduction/cross_referencing/tutorial_cross_referencing.markdown index c64c0120288dfc8ef8c53fd21eca19952f5a9c1a..17bf7761035814e2d49a3b977c07b78e8fb74ea5 100644 --- a/doc/tutorials/introduction/cross_referencing/tutorial_cross_referencing.markdown +++ b/doc/tutorials/introduction/cross_referencing/tutorial_cross_referencing.markdown @@ -1,6 +1,9 @@ Cross referencing OpenCV from other Doxygen projects {#tutorial_cross_referencing} ==================================================== +@prev_tutorial{tutorial_transition_guide} + + Cross referencing OpenCV ------------------------ diff --git a/doc/tutorials/introduction/crosscompilation/arm_crosscompile_with_cmake.markdown b/doc/tutorials/introduction/crosscompilation/arm_crosscompile_with_cmake.markdown index 3ef08f8a39d15ed9e8ce665f1b16edcdafe15163..8d9c666b3d3d09ab7f46c165bf849fd79883ede7 100644 --- a/doc/tutorials/introduction/crosscompilation/arm_crosscompile_with_cmake.markdown +++ b/doc/tutorials/introduction/crosscompilation/arm_crosscompile_with_cmake.markdown @@ -1,6 +1,10 @@ Cross compilation for ARM based Linux systems {#tutorial_arm_crosscompile_with_cmake} ============================================= +@prev_tutorial{tutorial_ios_install} +@next_tutorial{tutorial_building_tegra_cuda} + + This steps are tested on Ubuntu Linux 12.04, but should work for other Linux distributions. I case of other distributions package names and names of cross compilation tools may differ. There are several popular EABI versions that are used on ARM platform. This tutorial is written for *gnueabi* diff --git a/doc/tutorials/introduction/desktop_java/java_dev_intro.markdown b/doc/tutorials/introduction/desktop_java/java_dev_intro.markdown index c6e8c06f7c5a4f9ee4d7721a832174beec54b3ec..8511304f93dc2eb8d7a4a2c2839f8f886a7608e9 100644 --- a/doc/tutorials/introduction/desktop_java/java_dev_intro.markdown +++ b/doc/tutorials/introduction/desktop_java/java_dev_intro.markdown @@ -1,6 +1,10 @@ Introduction to Java Development {#tutorial_java_dev_intro} ================================ +@prev_tutorial{tutorial_windows_visual_studio_image_watch} +@next_tutorial{tutorial_java_eclipse} + + As of OpenCV 2.4.4, OpenCV supports desktop Java development using nearly the same interface as for Android development. This guide will help you to create your first Java (or Scala) application using OpenCV. We will use either [Apache Ant](http://ant.apache.org/) or [Simple Build Tool diff --git a/doc/tutorials/introduction/display_image/display_image.markdown b/doc/tutorials/introduction/display_image/display_image.markdown index ee6c20075767418cfad0a050ff8c8e86a45b16fe..a3cbc967353e3856d5e0a72fe6b83a85903f1d89 100644 --- a/doc/tutorials/introduction/display_image/display_image.markdown +++ b/doc/tutorials/introduction/display_image/display_image.markdown @@ -1,6 +1,9 @@ Getting Started with Images {#tutorial_display_image} =========================== +@prev_tutorial{tutorial_building_tegra_cuda} +@next_tutorial{tutorial_documentation} + Goal ---- diff --git a/doc/tutorials/introduction/documenting_opencv/documentation_tutorial.markdown b/doc/tutorials/introduction/documenting_opencv/documentation_tutorial.markdown index 058f392afe4fd177c9514eb786804c5b50fd62d2..96d39b41da66bd63cbdcd8cb796a16f51e05b5a6 100644 --- a/doc/tutorials/introduction/documenting_opencv/documentation_tutorial.markdown +++ b/doc/tutorials/introduction/documenting_opencv/documentation_tutorial.markdown @@ -1,6 +1,10 @@ Writing documentation for OpenCV {#tutorial_documentation} ================================ +@prev_tutorial{tutorial_display_image} +@next_tutorial{tutorial_transition_guide} + + @tableofcontents Doxygen overview {#tutorial_documentation_overview} diff --git a/doc/tutorials/introduction/ios_install/ios_install.markdown b/doc/tutorials/introduction/ios_install/ios_install.markdown index 1aaec1fd2de73d823fa3e6ddd5e2818179032a06..f893c7ff83f8dbfcda20fe5313fd4034fab7b584 100644 --- a/doc/tutorials/introduction/ios_install/ios_install.markdown +++ b/doc/tutorials/introduction/ios_install/ios_install.markdown @@ -1,6 +1,9 @@ Installation in iOS {#tutorial_ios_install} =================== +@prev_tutorial{tutorial_macos_install} +@next_tutorial{tutorial_arm_crosscompile_with_cmake} + Required Packages ----------------- diff --git a/doc/tutorials/introduction/java_eclipse/java_eclipse.markdown b/doc/tutorials/introduction/java_eclipse/java_eclipse.markdown index ed1f52721718d8dc13bf2896aa5d8761d35e16c9..f9ef84f7406d0d5b20871182bfdf3c3a8f87ab64 100644 --- a/doc/tutorials/introduction/java_eclipse/java_eclipse.markdown +++ b/doc/tutorials/introduction/java_eclipse/java_eclipse.markdown @@ -1,6 +1,10 @@ Using OpenCV Java with Eclipse {#tutorial_java_eclipse} ============================== +@prev_tutorial{tutorial_java_dev_intro} +@next_tutorial{tutorial_clojure_dev_intro} + + Since version 2.4.4 [OpenCV supports Java](http://opencv.org/opencv-java-api.html). In this tutorial I will explain how to setup development environment for using OpenCV Java with Eclipse in **Windows**, so you can enjoy the benefits of garbage collected, very refactorable (rename variable, diff --git a/doc/tutorials/introduction/linux_eclipse/linux_eclipse.markdown b/doc/tutorials/introduction/linux_eclipse/linux_eclipse.markdown index 4aca7ee260fa4fac62f1044b6d0d739c20894593..66ca510efb668f98578397fb871617fb83a270d1 100644 --- a/doc/tutorials/introduction/linux_eclipse/linux_eclipse.markdown +++ b/doc/tutorials/introduction/linux_eclipse/linux_eclipse.markdown @@ -1,6 +1,9 @@ Using OpenCV with Eclipse (plugin CDT) {#tutorial_linux_eclipse} ====================================== +@prev_tutorial{tutorial_linux_gcc_cmake} +@next_tutorial{tutorial_windows_install} + Prerequisites ------------- Two ways, one by forming a project directly, and another by CMake Prerequisites diff --git a/doc/tutorials/introduction/linux_gcc_cmake/linux_gcc_cmake.markdown b/doc/tutorials/introduction/linux_gcc_cmake/linux_gcc_cmake.markdown index fd447307a798a354e2edc5c03ba99df2f7e41589..0f4d1c8cce8badabcb85f3a74e18a416f29838fb 100644 --- a/doc/tutorials/introduction/linux_gcc_cmake/linux_gcc_cmake.markdown +++ b/doc/tutorials/introduction/linux_gcc_cmake/linux_gcc_cmake.markdown @@ -1,6 +1,10 @@ Using OpenCV with gcc and CMake {#tutorial_linux_gcc_cmake} =============================== +@prev_tutorial{tutorial_linux_install} +@next_tutorial{tutorial_linux_eclipse} + + @note We assume that you have successfully installed OpenCV in your workstation. - The easiest way of using OpenCV in your code is to use [CMake](http://www.cmake.org/). A few diff --git a/doc/tutorials/introduction/linux_install/linux_install.markdown b/doc/tutorials/introduction/linux_install/linux_install.markdown index 9f691c25899a40163c51a1d46beb2996985189ab..7d374950690597c58fbe74c6516505a9706188d8 100644 --- a/doc/tutorials/introduction/linux_install/linux_install.markdown +++ b/doc/tutorials/introduction/linux_install/linux_install.markdown @@ -1,6 +1,9 @@ Installation in Linux {#tutorial_linux_install} ===================== +@next_tutorial{tutorial_linux_gcc_cmake} + + The following steps have been tested for Ubuntu 10.04 but should work with other distros as well. Required Packages diff --git a/doc/tutorials/introduction/macos_install/macos_install.markdown b/doc/tutorials/introduction/macos_install/macos_install.markdown index 016e32ae5da8484148535668a7920c781cac0f45..4db1cbfc86f5209b9b452a6632b3496db9b19c64 100644 --- a/doc/tutorials/introduction/macos_install/macos_install.markdown +++ b/doc/tutorials/introduction/macos_install/macos_install.markdown @@ -1,6 +1,10 @@ Installation in MacOS {#tutorial_macos_install} ===================== +@prev_tutorial{tutorial_android_ocl_intro} +@next_tutorial{tutorial_ios_install} + + The following steps have been tested for MacOSX (Mavericks) but should work with other versions as well. Required Packages diff --git a/doc/tutorials/introduction/transition_guide/transition_guide.markdown b/doc/tutorials/introduction/transition_guide/transition_guide.markdown index c5c4320253c1f34bf96f53e2dd1efa2c68b82262..535ee463fe655a466dddd30435252a4cbe50a42a 100644 --- a/doc/tutorials/introduction/transition_guide/transition_guide.markdown +++ b/doc/tutorials/introduction/transition_guide/transition_guide.markdown @@ -1,6 +1,10 @@ Transition guide {#tutorial_transition_guide} ================ +@prev_tutorial{tutorial_documentation} +@next_tutorial{tutorial_cross_referencing} + + @tableofcontents Changes overview {#tutorial_transition_overview} diff --git a/doc/tutorials/introduction/windows_install/windows_install.markdown b/doc/tutorials/introduction/windows_install/windows_install.markdown index b30085cbbd6fa0ca91f4738349abc49963215335..8eca5293a97353bfb224217377b1486f05fbe260 100644 --- a/doc/tutorials/introduction/windows_install/windows_install.markdown +++ b/doc/tutorials/introduction/windows_install/windows_install.markdown @@ -1,6 +1,10 @@ Installation in Windows {#tutorial_windows_install} ======================= +@prev_tutorial{tutorial_linux_eclipse} +@next_tutorial{tutorial_windows_visual_studio_opencv} + + The description here was tested on Windows 7 SP1. Nevertheless, it should also work on any other relatively modern version of Windows OS. If you encounter errors after following the steps described below, feel free to contact us via our [OpenCV Q&A forum](http://answers.opencv.org). We'll do our diff --git a/doc/tutorials/introduction/windows_visual_studio_image_watch/windows_visual_studio_image_watch.markdown b/doc/tutorials/introduction/windows_visual_studio_image_watch/windows_visual_studio_image_watch.markdown index 8bc2b32fffe11fc473f0414ca2a842ce8c1f8549..770a9c347909a57526d5858315615400d5aba74e 100644 --- a/doc/tutorials/introduction/windows_visual_studio_image_watch/windows_visual_studio_image_watch.markdown +++ b/doc/tutorials/introduction/windows_visual_studio_image_watch/windows_visual_studio_image_watch.markdown @@ -1,6 +1,10 @@ Image Watch: viewing in-memory images in the Visual Studio debugger {#tutorial_windows_visual_studio_image_watch} =================================================================== +@prev_tutorial{tutorial_windows_visual_studio_opencv} +@next_tutorial{tutorial_java_dev_intro} + + Image Watch is a plug-in for Microsoft Visual Studio that lets you to visualize in-memory images (*cv::Mat* or *IplImage_* objects, for example) while debugging an application. This can be helpful for tracking down bugs, or for simply understanding what a given piece of code is doing. diff --git a/doc/tutorials/introduction/windows_visual_studio_opencv/windows_visual_studio_opencv.markdown b/doc/tutorials/introduction/windows_visual_studio_opencv/windows_visual_studio_opencv.markdown index caf7e57f98f297ad3cf4fa049c58f262d337cca6..d1f907a99e30e9c494bdb5e3d34e804e8eeeca0e 100644 --- a/doc/tutorials/introduction/windows_visual_studio_opencv/windows_visual_studio_opencv.markdown +++ b/doc/tutorials/introduction/windows_visual_studio_opencv/windows_visual_studio_opencv.markdown @@ -1,6 +1,10 @@ How to build applications with OpenCV inside the "Microsoft Visual Studio" {#tutorial_windows_visual_studio_opencv} ========================================================================== +@prev_tutorial{tutorial_windows_install} +@next_tutorial{tutorial_windows_visual_studio_image_watch} + + Everything I describe here will apply to the `C\C++` interface of OpenCV. I start out from the assumption that you have read and completed with success the @ref tutorial_windows_install tutorial. Therefore, before you go any further make sure you have an OpenCV directory that contains the OpenCV diff --git a/doc/tutorials/ios/hello/hello.markdown b/doc/tutorials/ios/hello/hello.markdown index 44f14adb123397973918f6c6b1a3198572e76182..fc6992cc70d1100805222d710c8c86b0cd1a5150 100644 --- a/doc/tutorials/ios/hello/hello.markdown +++ b/doc/tutorials/ios/hello/hello.markdown @@ -1,6 +1,8 @@ OpenCV iOS Hello {#tutorial_hello} ================ +@next_tutorial{tutorial_image_manipulation} + Goal ---- diff --git a/doc/tutorials/ios/image_manipulation/image_manipulation.markdown b/doc/tutorials/ios/image_manipulation/image_manipulation.markdown index 42fefa5ae93365ed6c7f57038ea6d9c8b0e2fb82..61590d8f770107b715fb945f57278d6881a2d1f6 100644 --- a/doc/tutorials/ios/image_manipulation/image_manipulation.markdown +++ b/doc/tutorials/ios/image_manipulation/image_manipulation.markdown @@ -1,6 +1,9 @@ OpenCV iOS - Image Processing {#tutorial_image_manipulation} ============================= +@prev_tutorial{tutorial_hello} +@next_tutorial{tutorial_video_processing} + Goal ---- diff --git a/doc/tutorials/ios/video_processing/video_processing.markdown b/doc/tutorials/ios/video_processing/video_processing.markdown index 43b0b963386504593f161752ba684d53f87e3794..04bdd14e8994315c09fa581d8ed35c97ad71b8d0 100644 --- a/doc/tutorials/ios/video_processing/video_processing.markdown +++ b/doc/tutorials/ios/video_processing/video_processing.markdown @@ -1,6 +1,9 @@ OpenCV iOS - Video Processing {#tutorial_video_processing} ============================= +@prev_tutorial{tutorial_image_manipulation} + + This tutorial explains how to process video frames using the iPhone's camera and OpenCV. Prerequisites: diff --git a/doc/tutorials/ml/introduction_to_pca/introduction_to_pca.markdown b/doc/tutorials/ml/introduction_to_pca/introduction_to_pca.markdown index 1908e9619ef4c893a53efacdad7a85bb5d372d54..55d96236f8b6b384082ebaad2c288655b7f4ec56 100644 --- a/doc/tutorials/ml/introduction_to_pca/introduction_to_pca.markdown +++ b/doc/tutorials/ml/introduction_to_pca/introduction_to_pca.markdown @@ -1,6 +1,8 @@ Introduction to Principal Component Analysis (PCA) {#tutorial_introduction_to_pca} ======================================= +@prev_tutorial{tutorial_non_linear_svms} + Goal ---- diff --git a/doc/tutorials/ml/introduction_to_svm/introduction_to_svm.markdown b/doc/tutorials/ml/introduction_to_svm/introduction_to_svm.markdown index d8bf40e92fe7c42468c6a21e6c311335f84b5212..485070dfde8d36139cb00029e1bb9cb661f7b117 100644 --- a/doc/tutorials/ml/introduction_to_svm/introduction_to_svm.markdown +++ b/doc/tutorials/ml/introduction_to_svm/introduction_to_svm.markdown @@ -1,6 +1,8 @@ Introduction to Support Vector Machines {#tutorial_introduction_to_svm} ======================================= +@next_tutorial{tutorial_non_linear_svms} + Goal ---- diff --git a/doc/tutorials/ml/non_linear_svms/non_linear_svms.markdown b/doc/tutorials/ml/non_linear_svms/non_linear_svms.markdown index 7ad12669833592987c254a5f5c410829c0ec8a77..8941b8c72644dfb93dce742009ace5329c0860a2 100644 --- a/doc/tutorials/ml/non_linear_svms/non_linear_svms.markdown +++ b/doc/tutorials/ml/non_linear_svms/non_linear_svms.markdown @@ -1,6 +1,9 @@ Support Vector Machines for Non-Linearly Separable Data {#tutorial_non_linear_svms} ======================================================= +@prev_tutorial{tutorial_introduction_to_svm} +@next_tutorial{tutorial_introduction_to_pca} + Goal ---- diff --git a/doc/tutorials/objdetect/cascade_classifier/cascade_classifier.markdown b/doc/tutorials/objdetect/cascade_classifier/cascade_classifier.markdown index 138f43bb8e7ff3bd4395ea4a091afef74b0c1b92..445f154b14825d94f01a09e2ad1e5e07231598fa 100644 --- a/doc/tutorials/objdetect/cascade_classifier/cascade_classifier.markdown +++ b/doc/tutorials/objdetect/cascade_classifier/cascade_classifier.markdown @@ -1,6 +1,8 @@ Cascade Classifier {#tutorial_cascade_classifier} ================== +@next_tutorial{tutorial_traincascade} + Goal ---- diff --git a/doc/tutorials/objdetect/traincascade.markdown b/doc/tutorials/objdetect/traincascade.markdown index 2a0b1ae27648566a789ed6cea22ef994c55b87ea..d7acdca5539f0a491a86a076c6ba1e0049d7645e 100644 --- a/doc/tutorials/objdetect/traincascade.markdown +++ b/doc/tutorials/objdetect/traincascade.markdown @@ -1,6 +1,8 @@ Cascade Classifier Training {#tutorial_traincascade} =========================== +@prev_tutorial{tutorial_cascade_classifier} + Introduction ------------ diff --git a/doc/tutorials/video/background_subtraction/background_subtraction.markdown b/doc/tutorials/video/background_subtraction/background_subtraction.markdown index 2e480f55853af2e46ad0f7b9dca725d7d34ab234..91dbd02d9b6cfb4725a2796391979f33be176d81 100644 --- a/doc/tutorials/video/background_subtraction/background_subtraction.markdown +++ b/doc/tutorials/video/background_subtraction/background_subtraction.markdown @@ -1,6 +1,8 @@ How to Use Background Subtraction Methods {#tutorial_background_subtraction} ========================================= +@next_tutorial{tutorial_meanshift} + - Background subtraction (BS) is a common and widely used technique for generating a foreground mask (namely, a binary image containing the pixels belonging to moving objects in the scene) by using static cameras. diff --git a/doc/tutorials/video/meanshift/meanshift.markdown b/doc/tutorials/video/meanshift/meanshift.markdown index 5b2d789ac2f794e8deb3087e8176a5213b94ec26..ffd61aded73fc525801eb6bbb51af2b419ac3afc 100644 --- a/doc/tutorials/video/meanshift/meanshift.markdown +++ b/doc/tutorials/video/meanshift/meanshift.markdown @@ -1,6 +1,9 @@ Meanshift and Camshift {#tutorial_meanshift} ====================== +@prev_tutorial{tutorial_background_subtraction} +@next_tutorial{tutorial_optical_flow} + Goal ---- diff --git a/doc/tutorials/video/optical_flow/optical_flow.markdown b/doc/tutorials/video/optical_flow/optical_flow.markdown index d7a6896d1b7c3e80f2443aaf6d60c3776a06da13..45bbfa46ce0ad110cedf884980ed23f4b4534b90 100644 --- a/doc/tutorials/video/optical_flow/optical_flow.markdown +++ b/doc/tutorials/video/optical_flow/optical_flow.markdown @@ -1,6 +1,8 @@ Optical Flow {#tutorial_optical_flow} ============ +@prev_tutorial{tutorial_meanshift} + Goal ---- diff --git a/doc/tutorials/videoio/intelperc.markdown b/doc/tutorials/videoio/intelperc.markdown index 4822c4146f7edf47598e5f6288e5184c2804d8b4..288d4b639ce8f4a1976b0a233443361583285327 100644 --- a/doc/tutorials/videoio/intelperc.markdown +++ b/doc/tutorials/videoio/intelperc.markdown @@ -1,6 +1,9 @@ Using Creative Senz3D and other Intel Perceptual Computing SDK compatible depth sensors {#tutorial_intelperc} ======================================================================================= +@prev_tutorial{tutorial_kinect_openni} + + Depth sensors compatible with Intel Perceptual Computing SDK are supported through VideoCapture class. Depth map, RGB image and some other formats of output can be retrieved by using familiar interface of VideoCapture. diff --git a/doc/tutorials/videoio/kinect_openni.markdown b/doc/tutorials/videoio/kinect_openni.markdown index 8e28286a92bf4bec9457a937ad261b0798d9cf5d..96d169ef0b07f6b77cc39109a800e044dc46b0bc 100644 --- a/doc/tutorials/videoio/kinect_openni.markdown +++ b/doc/tutorials/videoio/kinect_openni.markdown @@ -1,6 +1,10 @@ Using Kinect and other OpenNI compatible depth sensors {#tutorial_kinect_openni} ====================================================== +@prev_tutorial{tutorial_video_write} +@next_tutorial{tutorial_intelperc} + + Depth sensors compatible with OpenNI (Kinect, XtionPRO, ...) are supported through VideoCapture class. Depth map, BGR image and some other formats of output can be retrieved by using familiar interface of VideoCapture. diff --git a/doc/tutorials/videoio/video-input-psnr-ssim/video_input_psnr_ssim.markdown b/doc/tutorials/videoio/video-input-psnr-ssim/video_input_psnr_ssim.markdown index 311ffe4120f464f9403c5cf39e43f2cd3fa9ba3f..2cd038255aa8ba8c569549f18595052efdfe763e 100644 --- a/doc/tutorials/videoio/video-input-psnr-ssim/video_input_psnr_ssim.markdown +++ b/doc/tutorials/videoio/video-input-psnr-ssim/video_input_psnr_ssim.markdown @@ -1,6 +1,8 @@ Video Input with OpenCV and similarity measurement {#tutorial_video_input_psnr_ssim} ================================================== +@next_tutorial{tutorial_video_write} + Goal ---- diff --git a/doc/tutorials/videoio/video-write/video_write.markdown b/doc/tutorials/videoio/video-write/video_write.markdown index dff53c1f87e3f39a62083e9ade86e1a844fe1a5e..feafc4408d47e5e9dfc7ba6ec320d5b0f6d8faac 100644 --- a/doc/tutorials/videoio/video-write/video_write.markdown +++ b/doc/tutorials/videoio/video-write/video_write.markdown @@ -1,6 +1,9 @@ Creating a video with OpenCV {#tutorial_video_write} ============================ +@prev_tutorial{tutorial_video_input_psnr_ssim} +@next_tutorial{tutorial_kinect_openni} + Goal ---- diff --git a/doc/tutorials/viz/creating_widgets/creating_widgets.markdown b/doc/tutorials/viz/creating_widgets/creating_widgets.markdown index 3023e9b2d8104c008b3ced953b071729a5c75bce..c8b46d424f96e6bee28a9268717afed96c34f579 100644 --- a/doc/tutorials/viz/creating_widgets/creating_widgets.markdown +++ b/doc/tutorials/viz/creating_widgets/creating_widgets.markdown @@ -1,6 +1,9 @@ Creating Widgets {#tutorial_creating_widgets} ================ +@prev_tutorial{tutorial_transformations} +@next_tutorial{tutorial_histo3D} + Goal ---- diff --git a/doc/tutorials/viz/histo3D/histo3D.markdown b/doc/tutorials/viz/histo3D/histo3D.markdown index 10e9996aa43c3af75be50ffedffbc7bc96026755..147e501fa625480a112bb42097fa6fe8e2746f3b 100644 --- a/doc/tutorials/viz/histo3D/histo3D.markdown +++ b/doc/tutorials/viz/histo3D/histo3D.markdown @@ -1,6 +1,8 @@ Creating a 3D histogram {#tutorial_histo3D} ================ +@prev_tutorial{tutorial_creating_widgets} + Goal ---- diff --git a/doc/tutorials/viz/launching_viz/launching_viz.markdown b/doc/tutorials/viz/launching_viz/launching_viz.markdown index 6a02b9b7adeeea6c77da8c6870edc29375411386..498f50ba3baa67fc5480abb794b7b87cff0926e3 100644 --- a/doc/tutorials/viz/launching_viz/launching_viz.markdown +++ b/doc/tutorials/viz/launching_viz/launching_viz.markdown @@ -1,6 +1,8 @@ Launching Viz {#tutorial_launching_viz} ============= +@next_tutorial{tutorial_widget_pose} + Goal ---- diff --git a/doc/tutorials/viz/transformations/transformations.markdown b/doc/tutorials/viz/transformations/transformations.markdown index c10b90bd661691a34b8e7c741c90f166af64f9cb..e6523d189bbd9ad0204e71c71bc40d3687152955 100644 --- a/doc/tutorials/viz/transformations/transformations.markdown +++ b/doc/tutorials/viz/transformations/transformations.markdown @@ -1,6 +1,9 @@ Transformations {#tutorial_transformations} =============== +@prev_tutorial{tutorial_widget_pose} +@next_tutorial{tutorial_creating_widgets} + Goal ---- diff --git a/doc/tutorials/viz/widget_pose/widget_pose.markdown b/doc/tutorials/viz/widget_pose/widget_pose.markdown index ea3b93e778a1f5df9cca39502e091c0d3cf40228..d4e4f23c9d4e14c311311dbf7a52b85fa03f5a43 100644 --- a/doc/tutorials/viz/widget_pose/widget_pose.markdown +++ b/doc/tutorials/viz/widget_pose/widget_pose.markdown @@ -1,6 +1,9 @@ Pose of a widget {#tutorial_widget_pose} ================ +@prev_tutorial{tutorial_launching_viz} +@next_tutorial{tutorial_transformations} + Goal ----