1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195
|
/*! \page tutorial_users Tutorials
This page references all the tutorials to use and contribute to ViSP.
- \subpage tutorial_started
- \subpage tutorial_linear_algebra
- \subpage tutorial_image
- \subpage tutorial_imgproc
- \subpage tutorial_calib
- \subpage tutorial_tracking
- \subpage tutorial_detection
- \subpage tutorial_detection_dnn
- \subpage tutorial_computer_vision
- \subpage tutorial_vs
- \subpage tutorial_munkres
- \subpage tutorial_bridge
- \subpage tutorial_tools
- \subpage tutorial_coding
- \subpage tutorial_contrib
*/
/*! \page tutorial_started Getting started
This page introduces the user to the way to start with ViSP.
- \subpage tutorial-getting-started <br>This tutorial shows how to build a project that uses ViSP and CMake to read and display an image.
- \subpage tutorial-getting-started-makefile <br>This tutorial shows how to build a project that uses ViSP without CMake using `visp-config` and `pkg-config` script called in a classical Makefile.
- \subpage tutorial-getting-started-naoqi <br>This tutorial shows how to build a project that uses ViSP on NAOqi OS running on NAO, Romeo or Pepper humanoid robots.
- \subpage tutorial-import-visp-into-EclipseIDE <br>This tutorial explains how to import a CMake project in Eclipse IDE.
*/
/*! \page tutorial_linear_algebra Linear algebra operations
This page introduces the user to linear algebra operations with ViSP.
- \subpage tutorial-basic-linear-algebra <br>This tutorial gives some information concerning basic linear algebra operations implementation for vector and matrix multiplication.
*/
/*! \page tutorial_image Image manipulation
This page introduces the user to the way to get, to filter or to render images.
- \subpage tutorial-image-display <br>In this tutorial you will learn how to display an image in a window and how to down scale the window size to be able to display images that are larger than the screen resolution.
- \subpage tutorial-image-display-overlay <br>In this tutorial you will learn how to display points, lines, circles, rectangles in overlay in an image display window.
- \subpage tutorial-basic-drawings <br>In this tutorial you will learn how to modify an image to draw points, lines, circles, rectangles.
- \subpage tutorial-grabber <br>This tutorial shows how to acquire images from a camera.
- \subpage tutorial-image-filtering <br>This tutorial shows how to filter an image with ViSP.
- \subpage tutorial-simu-image <br>This tutorial shows how to project the image of a planar scene to a given camera position.
- \subpage tutorial-video-manipulation <br>In this tutorial you will learn how to manipulate a video or a sequence of successives images in order to rename the images, convert images format, or select some images that will constitute a dataset typically for deep learning purpose.
*/
/*! \page tutorial_imgproc Image processing
This page introduces some image processing methods.
- \subpage tutorial-imgproc-brightness <br>This tutorial will show you some simple techniques to adjust or improve the brightness / contrast of an image.
- \subpage tutorial-imgproc-contrast-sharpening <br>This tutorial will show you some simple techniques to improve the contrast and the sharpness of an image.
- \subpage tutorial-imgproc-autothreshold <br>This tutorial will show you different methods to automatically threshold, binarize an image.
- \subpage tutorial-imgproc-contour <br>This tutorial will show you how to extract the contours from a binary image.
- \subpage tutorial-imgproc-connected-components <br>This tutorial will show you how to do a connected-components labeling.
- \subpage tutorial-imgproc-flood-fill <br>This tutorial will show you how to use the flood fill algorithm.
- \subpage tutorial-imgproc-count-coins <br>This tutorial will show you how to count the number of coins in an image.
- \subpage tutorial-imgproc-cht <br>This tutorial will show you how to use the gradient-based Circle Hough Transform to detect circles in an image.
*/
/*! \page tutorial_calib Camera calibration
This page introduces the user to the way to calibrate a camera.
- \subpage tutorial-calibration-intrinsic <br>This tutorial explains how to calibrate intrinsic camera parameters.
- \subpage tutorial-calibration-extrinsic <br>This tutorial explains how to get the camera eye-in-hand extrinsic transformation when the camera is mounted on a robot end-effector.
*/
/*! \page tutorial_tracking Tracking
This page introduces the user to the way to track objects in images.
- \subpage tutorial-tracking-blob <br>This tutorial introduces blob tracking and detection.
- \subpage tutorial-tracking-keypoint <br>This tutorial focuses on keypoint tracking using Kanade-Lucas-Tomasi feature tracker.
- \subpage tutorial-tracking-me <br>This tutorial focuses on line and ellipse tracking using moving-edges.
- \subpage tutorial-tracking-mb-generic <br>This tutorial focuses on model-based trackers using either moving edges, or keypoints, or a combination of them as visual features on images acquired by a monocular color camera.
- \subpage tutorial-tracking-mb-generic-stereo <br>This tutorial focuses on model-based trackers using either edges, or keypoints, or a combination of them as visual features on images acquired by a stereo color camera.
- \subpage tutorial-tracking-mb-generic-rgbd <br>This tutorial focuses on generic model-based trackers combining moving edges and/or keypoints with depth visual features.
- \subpage tutorial-tracking-mb-generic-apriltag-live <br>This tutorial is a simple use case. Using a webcam or an Intel RGB-D camera it shows how to test the generic model tracker on a cube that has an AprilTag glued on one face. The tag is here used to automate the tracker initialization.
- \subpage tutorial-mb-generic-json <br> This tutorial shows how to load and save the full tracker configuration from a json file.
- \subpage tutorial-tracking-mb-deprecated <br>This deprecated tutorial focuses on model-based trackers using either edges, keypoints or and hybrid scheme that uses edges and keypoints.
- \subpage tutorial-tracking-mb-CAO-editor <br>This tutorial presents the project done during the GSoC 2017: two Blender plugins to import/export .cao model file and a Qt-based .cao editor.
- \subpage tutorial-tracking-mb-generic-rgbd-Blender <br>This tutorial shows how to use Blender to generate simulated data to test the model-based tracker.
- \subpage tutorial-tracking-tt <br>This tutorial focuses on template trackers based on image registration approaches.
- \subpage tutorial-tracking-megapose <br>This tutorial shows how to use megapose, a deep learning pose estimation solution, to perform single object tracking.
- \subpage tutorial-megapose-model <br>This tutorial shows how to prepare your 3D model for usage in megapose after reconstruction with Neural Radiance Fields (NeRF).
*/
/*! \page tutorial_detection Detection
This page introduces the user to the way to detect features or objects in images.
- \subpage tutorial-matching <br>This tutorial shows how to detect and match keypoints.
- \subpage tutorial-detection-barcode <br>This tutorial focuses on bar code (QR code, Data Matrix code) detection.
- \subpage tutorial-detection-face <br>This tutorial focuses on face detection thanks to OpenCV Haar cascade classifier.
- \subpage tutorial-detection-object <br>This tutorial shows how to learn keypoints detected on a known object and how to use the matched correspondences to detect and estimate the pose of the object.
- \subpage tutorial-detection-object-deprecated <br>This tutorial shows how to learn keypoints detected on a known object and how to use the matched correspondences to detect and estimate the pose of the object. We recommend to follow rather \ref tutorial-detection-object that uses vpMbGenericTracker class.
- \subpage tutorial-detection-apriltag <br>This tutorial focuses on AprilTag patterns detection and pose estimation.
*/
/*! \page tutorial_detection_dnn DNN detection
This page introduces the user to the way to detect features or objects in images using Deep Neural Network (DNN).
- \subpage tutorial-detection-dnn <br>This tutorial shows how to do deep learning object detection.
- \subpage tutorial-detection-tensorrt <br>This tutorial shows how to perform object detection inference using NVIDIA TensorRT inference SDK.
*/
/*! \page tutorial_computer_vision Computer vision
This page introduces the user to the way to estimate a pose or an homography.
- <a href="https://visp-doc.inria.fr/doxygen/camera_localization/">Pose estimation for augmented reality</a> <br>This tutorial is a self contented introduction to the most important approaches dedicated to camera localization along with a survey of the extension that have been proposed in the recent years. We also try to link these methodological concepts to the main libraries and SDK available on the market.
- \subpage tutorial-pose-estimation <br>This tutorial focuses on pose estimation from planar or non planar points.
- \subpage tutorial-pose-estimation-qrcode <br>This tutorial focuses on pose estimation of a QRcode using it's four corners location.
- \subpage tutorial-planar-object-pose <br>This tutorial shows how to estimate the pose of a planar object exploiting data (color and depth images) from a RGB-D sensor.
- \subpage tutorial-homography <br>Here we explain how to estimate an homography from couples of matched points.
*/
/*! \page tutorial_vs Visual servoing
This page introduces the user to the way to achieve a visual servoing.
- \subpage tutorial-ibvs <br>This tutorial explains how to simulate an IBVS.
- \subpage tutorial-simu-robot-pioneer <br>This tutorial focuses on visual servoing simulation on a unicycle robot. The study case is a Pioneer P3-DX mobile robot equipped with a camera.
- \subpage tutorial-boost-vs <br>This tutorial explains how to speed up the time to convergence of a visual servo.
- \subpage tutorial-franka-pbvs <br>This tutorial explains how to do a position-based visual-servoing with the Panda 7-dof robot from Franka Emika equipped with an Intel Realsense SR300 camera.
- \subpage tutorial-franka-ibvs <br>This tutorial explains how to do an image-based visual-servoing with the Panda 7-dof robot from Franka Emika equipped with an Intel Realsense SR300 camera.
- \subpage tutorial-franka-sim <br>This tutorial explains how to simulate a Panda 7-dof robot from Franka Emika for visual servoing and impedance control applications.
- \subpage tutorial-mbot-vs <br>This tutorial explains how to do a visual-servoing with the mBot Ranger educational robot kit equipped with a Raspberry Pi and a camera.
- \subpage tutorial-bebop2-vs <br> Explains how to implement an image-based visual-servoing (IBVS) with Parrot Bebop 2 drone.
- \subpage tutorial-flir-ptu-vs <br> Explains how to implement an image-based visual-servoing (IBVS) with Flir pan-tilt unit and camera.
- \subpage tutorial-universal-robot-ibvs <br> Provides information on controlling robots from Universal Robots using vpRobotUniversalRobots class implemented in ViSP and shows how to implement an image-based visual-servoing with such a robot.
- \subpage tutorial-universal-robot-pbvs <br> Explains how to implement a position-based visual-servoing with a robot from Universal Robots.
- \subpage tutorial-pixhawk-vs <br> Explains how to implement an image-based visual-servoing (IBVS) with a drone equipped with a Pixhaw,
a Jetson TX2 and an Intel Realsense camera.
*/
/*! \page tutorial_bridge Bridges over other frameworks (OpenCV, MATLAB, ROS-1)
This page introduces the user the way to bridge other frameworks like OpenCV, MATLAB or ROS-1.
- \subpage tutorial-bridge-opencv <br>This tutorial explicit how to convert OpenCV to/from ViSP structures such as camera parameters, images...
- \subpage tutorial-visp-matlab <br>This tutorial shows how to invoke MATLAB functions from ViSP using MATLAB Engine.
- \subpage tutorial-bridge-ros <br>In this tutorial you will learn how to install ViSP prebuilt SDK for ROS and get pointers to existing ROS packages that are using ViSP.
*/
/*! \page tutorial_tools Other tools
This page introduces the user to other tools that may be useful.
- \subpage tutorial-plotter <br>This tutorial explains how to plot curves in real-time during a visual servo.
- \subpage tutorial-trace <br>This tutorial explains how to introduce trace in the code that could be enabled for debugging or disabled.
- \subpage tutorial-multi-threading <br>This tutorial explains how to implement multi-threaded applications to capture images from a camera
in one thread and display these images in an other thread.
- \subpage tutorial-pcl-viewer <br>This tutorial explains how to use a threaded PCL-based point cloud visualizer.
- \subpage tutorial-json <br>This tutorial explains how to read and save data in the portable JSON format. It focuses on saving the data generated by a visual servoing experiment and exporting it to Python in order to generate plots.
- \subpage tutorial-synthetic-blenderproc <br> This tutorial shows you how to easily generate synthetic data from the 3D model of an object and obtain various modalities. This data can then be used to train a neural network for your own task.
*/
/*! \page tutorial_munkres Munkres Assignment Algorithm
This page introduces the user to the way to assign track points and detected points.
- \subpage tutorial-munkres <br>This tutorial explains how to use Munkres to assign tracked and detected image points.
*/
/*! \page tutorial_coding Contributing to ViSP source code
This page introduces the way ViSP source code can be modified with new contributions.
- \subpage tutorial-add-new-dependency <br>This tutorial explains how to introduce a new class that relies on a 3rd party SDK. Different use cases are given as example.
*/
/*! \page tutorial_contrib Extanding ViSP with contrib modules
This page introduces the way ViSP source code can be modified with new contributions.
- \subpage tutorial-contrib-module <br>This tutorial explains how to exploit ViSP modular architecture in order to introduce a new contrib module.
*/
|