Difference between revisions of "Manual"

From BoofCV
Jump to navigationJump to search
m
(Updated list of examples)
Line 53: Line 53:
|
|
* Image Processing
* Image Processing
*# [[Example Binary Image|Binary Images]]
*# [[Example Color Space| Color Space]]
*# [[Example Discrete Fourier Transform| Discrete Fourier Transform]]
*# [[Example Image Convert|Converting Images]]
*# [[Example Image Filter|Image Filters (Derivatives)]]
*# [[Example Image Filter|Image Filters (Derivatives)]]
*# [[Example_Image_Convert|Converting Images]]
*# [[Example MultiSpectral|Using MultiSpectral Images]]
*# [[Example MultiSpectral|Using MultiSpectral Images]]
*# [[Example Binary Image|Binary Images]]
*# [[Example Image Pyramid| Discrete Pyramid]]
*# [[Example Image Pyramid| Image Pyramid]]
*# [[Example Float Pyramid| Float Pyramid]]
*# [[Example Wavelet Noise Removal| Wavelet Noise Removal]]
*# [[Example Image Enhancement| Image Enhancement]]
*# [[Example Color Space| Color Space]]
*# [[Example_Color_Segmentation| Color Segmentation]]
|
|
* Feature
* Feature
*# [[Example Associate Interest Points| Associate Interest Points]]
*# [[Example Canny Edge| Canny Edge Detector]]
*# [[Example_Detect_Describe_Interface| Detect Describe Interface]]
*# [[Example SURF Feature| Computing SURF Features]]
*# [[Example_Fit_Ellipse| Fitting Ellipses]]
*# [[Example_Fit_Ellipse| Fitting Ellipses]]
*# [[Example_Fit_Polygon| Fitting Polygons]]
*# [[Example_Fit_Polygon| Fitting Polygons]]
*# [[Example Canny Edge| Canny edge detector]]
*# [[Example Detect Interest Points| Detecting Interest Points]]
*# [[Example Detect Lines|Detecting Lines and Line Segments]]
*# [[Example Detect Lines|Detecting Lines and Line Segments]]
*# [[Example Detect Interest Points| Detecting Interest Points]]
*# [[Example_Detect_Describe_Interface| Detect Describe Interface]]
*# [[Example Associate Interest Points| Associate Interest Points]]
*# [[Example Track Point Features| Track Point Features]]
*# [[Example SURF Feature| Computing SURF Features]]
*# [[Example_Template_Matching| Template Matching]]
*# [[Example_Template_Matching| Template Matching]]
|-
|-
|
|
* 2D and 3D Structure
* Image Enhancement
*# [[Example Video Mosaic| Video Mosaic]]
*# [[Example Image Enhancement| Image Enhancement]]
*# [[Example Wavelet Noise Removal| Wavelet Noise Removal]]
|
* Segmentation
*# [[Example Color Segmentation| Color Segmentation]]
|-
|
* Stereo Vision
*# [[Example Fundamental Matrix| Compute Fundamental Matrix]]
*# [[Example Fundamental Matrix| Compute Fundamental Matrix]]
*# [[Example Rectification Calibrated| Rectify Calibrated Stereo]]
*# [[Example Rectification Uncalibrated| Rectify Uncalibrated Stereo]]
*# [[Example Stereo Disparity| Dense Stereo Disparity]]
*# [[Example Stereo Disparity| Dense Stereo Disparity]]
*# [[Example Stereo Disparity 3D| Dense Stereo Disparity 3D]]
*# [[Example Stereo Disparity 3D| Dense Stereo Disparity 3D]]
*# [[Example_Stereo_Single_Camera| Dense Stereo from Monocular Camera]]
*# [[Example Stereo Single Camera| Dense Stereo from Monocular Camera]]
|
* Geometry
*# [[Example_Point_Cloud_Depth_Image| Point Cloud from Depth/RGB-D]]
*# [[Example_Point_Cloud_Depth_Image| Point Cloud from Depth/RGB-D]]
*# [[Example Image Stitching| Image Stitching]]
*# [[Example Overhead View| Image to Overhead View]]
*# [[Example Calibration Target Pose| Calibration Target Pose]]
*# [[Example Remove Perspective Distortion| Remove Perspective Distortion]]
*# [[Example Video Mosaic| Video Mosaic]]
*# [[Example Video Stabilization| Video Stabilization]]
|-
|
* Structure from Motion
*# [[Example_Visual_Odometry_Monocular_Plane| Visual Odometry: Monocular Plane]]
*# [[Example_Visual_Odometry_Depth| Visual Odometry: Depth/RGB-D]]
*# [[Example_Stereo_Visual_Odometry| Visual Odometry: Stereo]]
*# [[Example_Stereo_Visual_Odometry| Visual Odometry: Stereo]]
*# [[Example_Visual_Odometry_Depth| Visual Odometry: Depth/RGB-D]]
*# [[Example_Visual_Odometry_Monocular_Plane| Visual Odometry: Monocular Plane]]
|
|
* Calibration
* Calibration
*# [[Example Calibrate Planar Mono| Calibrate Monocular Camera]]
*# [[Example Calibrate Planar Mono| Calibrate Monocular Camera]]
*# [[Example Calibrate Given Points| Calibrate Given Points ]]
*# [[Example Calibrate Planar Stereo| Calibrate Stereo Camera]]
*# [[Example Calibrate Planar Stereo| Calibrate Stereo Camera]]
*# [[Example Detect_Calibration Target| Detecting Calibration Targets]]
*# [[Example Detect Calibration Target| Detecting Calibration Targets]]
*# [[Example Calibrate Given Points| Calibrate Given Points ]]
*# [[Example Remove Lens Distortion| Remove Lens Distortion]]
*# [[Example Remove Lens Distortion| Remove Lens Distortion]]
*# [[Example Rectification Calibrated| Rectify Calibrated Stereo]]
*# [[Example Rectification Uncalibrated| Rectify Uncalibrated Stereo]]
|-
|-
|
* Tracking
*# [[Example Track Point Features| Track Point Features]]
*# [[Example Tracker Mean Shift| Mean Shift Tracker]]
*# [[Example Tracker Object| Object Tracker]]
|
|
* Integration
* Integration

Revision as of 12:13, 25 December 2013

Welcome to BoofCV! BoofCV is an open source Java computer vision library intended for developers. The following manual provides an introduction to development with BoofCV. It is assumed that the reader is familiar with development in the Java programming language and the basics of computer vision. This manual primarily takes the form of example code and tutorials.

Getting Started

Before you can do anything with BoofCV you will need to download it. The download page provides instructions on how to download pre-compiled jars, source code, add a Maven dependency, and checkout the latest source code. After you obtain the jar files browse through the examples below to get ideas on how you can use BoofCV.

Build

If you are compiling BoofCV from source code Ant and Maven scripts are provided. You can also build it inside your favorite IDE, but will need to configure it yourself.

Ant and Maven build instructions:

  1. Download or checkout source code.
  2. To run either script from the command-line, switch to the boofcv/main directory.
  3. Then type "ant" or "mvn package"
  4. Copy the compiled jar file to an appropriate location
    • Location Ant: boofcv/lib/BoofCV.jar.
    • Location Maven: boofcv/main/target/boofcv-XX.jar

Ant build scripts are also provided in boofcv/integration and boofcv/examples.

Support

Support is provided in the form of the documentation on this website and through its message board. See the left navigation board for a link to the message board. Please read through the documentation and FAQ (see below) first before posting a question there. You are much more likely to get a good response if you demonstrate due diligence.

http://boofcv.org/index.php?title=FAQ

If you find any mistakes in the documentation or library itself please submit a bug report or post a message about it! If you don't let us know about it we can't fix it.

Propaganda

Did you find BoofCV useful and use it on your project/work/research/thesis? Well let others know about it through your blog, twitter, or status message! Academics, please cite BoofCV in your papers and checkout the papers page to see if the specific algorithm you are using is mentioned there.

BoofCV Papers and Tech Report

Examples and Tutorial

A few tutorials and examples are provided to provide the basic concepts of development with BoofCV. Data files used in these examples are stored in a separate GIT repository from the main code. See boofcv/examples/readme.txt or https://github.com/lessthanoptimal/BoofCV-Data

Tutorials

  1. Quick Start
  2. Images in BoofCV
  3. Videos and Webcams
  4. Android Support
  5. Camera Calibration
  6. 3D Computer Vision
  7. Kinect RGB-D Sensor

Example Code

List of simple examples which demonstrate a single capability of BoofCV.

Demonstration Code

More complex examples which combine different aspects of BoofCV together or demonstrate how to perform a specific task beyound the built in capabilities of BoofCV

Image Stitching
Demonstrates how to extract features from an image, robustly fit a model to the features, and then combine multiple images together.
Color Segmentation
Demosntrates how an image can be segmented using color information.

Other resources