Computer Vision platform using Python.
WHAT IS IT?
SimpleCV is an open source framework for building computer vision applications. With it, you get access to several high-powered computer vision libraries such as OpenCV – without having to first learn about bit depths, file formats, color spaces, buffer management, eigenvalues, or matrix versus bitmap storage. This is computer vision made easy.
GETTING STARTED
from SimpleCV import Camera
# Initialize the camera
cam = Camera()
# Loop to continuously get images
while True:
# Get Image from camera
img = cam.getImage()
# Make image black and white
img = img.binarize()
# Draw the text "Hello World" on image
img.drawText("Hello World!")
# Show the image
img.show()
This example shows a "Hello World" program that uses SimpleCV. In this example we first connect to a USB web camera. We then capture images from the web cam, apply a binary threshold that turns our image black and white, and then draws some text. The program then prints the results to a display.
EXAMPLES

This image shows the SimpleCV threshold function. The threshold method sets each pixel in an image to black or white depending on its brightness. Example

In this image we applied the SimpleCV edges method. This method sets edge pixels in the image to white. Example

Keypoints are visually unique areas of an image that are used for a variety of 3D reconstruction and image matching tasks. Finding keypoints in SimpleCV is super easy, just call the Image.findKeypoints method. Example
These are just a small number of things you can do with SimpleCV. If you would like to learn more please refer to our tutorial. There are also many examples included in the SimpleCV directory under the examples folder which can also be downloaded from here.
Downloading SimpleCV
Before you click the download button below, please read the following. What you are downloading and installing is a packaged version of SimpleCV. It is meant include all the required libraries you should need to run SimpleCV. Please note that not all webcams work with SimpleCV. When you click the link it will begin downloading the appropriate super pack based on your operating system.
WANT TO RUN THE LATEST AND GREATEST?
The packaged version may not have some of the newest features maybe showcased in videos or examples posted online. If you would like to run the latest development version please follow the instructions included in the README file which is found in the download or is hosted in the repository here.
NEED HELP?
Then head over to the forums at: http://help.simplecv.org
HOW CAN I HELP CONTRIBUTE TO THE SIMPLECV PROJECT?
If you would like to help contribute please see our How to Contribute to SimpleCV page.
SimpleCV Tutorial
An easy way to become familiar with SimpleCV is by following the tutorial here. These are basic types of programs which demonstrate the concepts behind working with SimpleCV.
About
SimpleCV is an open source framework — meaning that it is a collection of libraries and software that you can use to develop vision applications. It lets you work with the images or video streams that come from webcams, Kinects, FireWire and IP cameras, or mobile phones. It’s helps you build software to make your various technologies not only see the world, but understand it too. SimpleCV is free to use, and because it’s open source, you can also modify the code if you choose to. It’s written in Python, and runs on Mac, Windows, and Ubuntu Linux. It’s developed by the engineers at Sight Machine, and it’s licensed under the BSD license.Note: These examples are written for SimpleCV version 1.3 or greater. Certain functions may not work in earlier versions. For best results, download the latest version.
Tutorials & Examples
- SimpleCV Shell
- SimpleCV Basics
- The Hello World program
- Interacting with the Display
- Loading a Directory of Images
- Macro’s
- Kinect
- Timing
- Detecting a Car
- Segmenting the Image and Morphology
- Image Arithmetic
Videos & Video Tutorials
Welcome to SimpleCV’s documentation!
This is the online documentation for all of the SimpleCV functions. If you are looking for help on how to install SimpleCV, there is an installation guide which can help (http://simplecv.org/download). If you are just starting to program with SimpleCV, you can find example code and tutorials in the Learn section of this site (http://tutorial.simplecv.org). To access the documentation, click on the package name below or in the header bar above. This will show you all of the classes and methods defined for that package, and then you just click on the item that you’re interested in.
Help within the Shell:
# You can always get documentation from within the SimpleCV Shell as well by doing
>>> img = Image('simplecv')
>>> help(img)
>>> # you can do the same with
>>> img?
# documentation will output here, press 'q' to quit documentation mode
API documentation
- SimpleCV package
- SimpleCV.Features package
- SimpleCV.Features.BOFFeatureExtractor module
- SimpleCV.Features.Blob module
- SimpleCV.Features.BlobMaker module
- SimpleCV.Features.Detection module
- SimpleCV.Features.EdgeHistogramFeatureExtractor module
- SimpleCV.Features.FaceRecognizer module
- SimpleCV.Features.FeatureExtractorBase module
- SimpleCV.Features.FeatureUtils module
- SimpleCV.Features.Features module
- SimpleCV.Features.HaarCascade module
- SimpleCV.Features.HaarLikeFeature module
- SimpleCV.Features.HaarLikeFeatureExtractor module
- SimpleCV.Features.HueHistogramFeatureExtractor module
- SimpleCV.Features.MorphologyFeatureExtractor module
- SimpleCV.MachineLearning package
- SimpleCV.MachineLearning.ConfusionMatrix module
- SimpleCV.MachineLearning.KNNClassifier module
- SimpleCV.MachineLearning.NaiveBayesClassifier module
- SimpleCV.MachineLearning.SVMClassifier module
- SimpleCV.MachineLearning.ShapeContextClassifier module
- SimpleCV.MachineLearning.TemporalColorTracker module
- SimpleCV.MachineLearning.TreeClassifier module
- SimpleCV.MachineLearning.TurkingModule module
- SimpleCV.Segmentation package
- SimpleCV.Tracking package
- SimpleCV.Camera module
- SimpleCV.Color module
- SimpleCV.ColorModel module
- SimpleCV.DFT module
- SimpleCV.Display module
- SimpleCV.DrawingLayer module
- SimpleCV.Font module
- SimpleCV.ImageClass module
- SimpleCV.LineScan module
- SimpleCV.Stream module
- SimpleCV.base module
- SimpleCV.Features package
Indices and tables
The Book
- Capture images from several sources, including webcams, smartphones, and Kinect
- Filter image input so your application processes only necessary information
- Manipulate images by performing basic arithmetic on pixel values
- Use feature detection techniques to focus on interesting parts of an image
- Work with several features in a single image, using the NumPy and SciPy Python libraries
- Learn about optical flow to identify objects that change between two image frames
- Use SimpleCV’s command line and code editor to run examples and test techniques
from: http://www.simplecv.org/