This page is a part of CVprimer.com, a wiki devoted to computer vision. It focuses on low level computer vision, digital image analysis, and applications. The exposition is geared towards software developers, especially beginners. The wiki contains discussions of computer vision and related issues, mathematics, algorithms, code examples, source code, and compiled software. If you have any questions or suggestions, please contact me directly.
Main Page
From Computer Vision Primer
|
Computer Vision For Beginners: A Developer’s Platform
The current image analysis and computer vision technology is a very large collection of disparate “tools” in the form of “toolboxes”, “cookbooks”, or code libraries. It follows the following outdated manual paradigm:
Image analysis tools include “edge detection”, “thresholding”, “segmentation”, “Fourier transform”, “wavelets”, "the Laplacian of the Gaussian" (my favorite), and on and on, all drown in a sea of image processing tools. It takes serious training and experience to put these pieces together. The methods are mathematically advanced at a level that goes well beyond what is covered in a typical undergraduate degree in computer science: Fourier and wavelet transforms, partial differential equations, probability and statistics, discrete topology and geometry, etc.
A computer vision platform should allow the software developer to concentrate on the user’s needs instead of custom development of or experimentation with mathematical methods and algorithms. Our goal is to take care of the "Mathematical tools" part above so that the developer would face this:
Initially we'll be able to handle only the fundamentals: objects in the image, their locations, measurements, their topology, etc. It is what may be called the low level computer vision. This data will allow the developer to concentrate on high level computer vision: what these objects represent in the context of his project.
For that we have our free software developer's kit (SDK). If you also want to understand how everything works, this wiki gives you a unique chance. We have complete and detailed expositions and source code.
In fact, this wiki is self-contained and requires only high school math...
How To Read This Wiki
The wiki contains over 50 articles and there is a number of ways you can read it. Depending on your interests, this is how you can start. Each article has further links (UC stands for “under construction”).
If you are just curious about computer vision...
- Human vision vs. computer vision UC
- Software projects
- Overview
- Image search
- Binary images
- video/motion tracking UC
- Topological issues in computer vision
- Blog: Computer Vision for Dummies
If you are interested in photo editing etc...
- Image manipulation UC
- Image simplification - download
- Watercolors - download UC
- Binary images
- Grayscale images
- Color images UC
- Image search - download
- Mosaic making
If you are a scientist interested in image analysis for biology, medicine etc...
- Pixcavator tutorial - download
- Image analysis software
- Cell counting - download
- Binary images
If you are a student taking a computer vision class...
Read the book assigned by your professor. Ignore this wiki if you want a good grade...
If you are a beginner software developer interested in elementary computer vision...
- About this wiki
- Software projects
- Image analysis software
- Pixcavator tutorial - download
- Pixcavator SDK - download
- Binary images
- Binary images - implementation - download
- Grayscale images
If you are a software developer interested in advanced computer vision...
- About this wiki
- Overview
- Binary images
- Measuring objects
- Software projects
- Grayscale images
- Pixcavator SDK - download
- One-parameter images
- Color Images UC
- Multi-parameter images
- Topological issues in computer vision
- Homology UC
If you are a computer vision researcher...
- Overview
- Related approaches
- Cell decomposition of images
- Binary images
- Grayscale images
- Topological issues in computer vision
- Homology UC
- Image Sequences
Also take a look at these slides:
Contents
Incomplete list of topics...
- About this wiki
- Overview >> Objects in gray scale images >> Related approaches
- Tutorial
- Topological image analysis >> Homology in 2D UC >> Homology UC
- Binary images
- What we are trying to find in the image >> Objects in binary images >> Measuring objects UC >> Roundness >> Lengths of curves
- The cell decomposition of the image >> Cell decomposition of images
- Using cycles to partition the image >> Adding Pixels
- The pseudocode of the algorithm >> Algorithm for Binary Images C++ >> Binary images - implementation
- The output of the algorithm >> Image Simplification
--> Homology in 2D UC
--> Image Sequences UC
- Grayscale images
- What we are trying to find in the image >> Objects in gray scale images >> Measuring objects >> Contrast
- The gray scale function of the image
- Thresholding >> Thresholding
- Counting objects in the sequence of frames >> Frame Graphs
- The pseudocode of the algorithm >> Algorithm for Grayscale Images C++
- The output of the algorithm >> Image Simplification
--> Color Images UC
- SDK UC << Objects in gray scale images
- Software projects UC << SDK UC
- Scientific image analysis
- Motion tracking UC << Image Sequences UC
- Stereo vision UC << Image Sequences UC
- Watercolors UC
- Image manipulation UC
- Image search (visual image search) << Objects in gray scale images
- Image registration (or image alignment) UC << Objects in gray scale images
- Industrial quality inspection - machine vision UC
- Character recognition UC
- Cell counting in microscopy UC
- Homology in 2D UC << Linear algebra UC
- Homology UC << Linear algebra UC
- Basics Of Image Processing UC
"UC" means "under construction".
"<<" indicates dependency (and so does a lower position - to some degree).
">>" indicates suggested reading.
"-->" means that you can jump to that article.