This module is focussed on software for Computer Vision, but for completeness I will give an short overview of cameras.
For machine vision applications require 1:1 aspect ratio to ensure square pixels that sample the field of view (FOV) in a reasonably equal manner in the X and Y dimensions. Normal consumer products offer 4:3 aspect ratio to save on pixel bandwidth. Cameras are commonly 1D and 2D.
Fig 1. Dalsa 48Mpixel image sensor (from: http://www.dalsa.com)
Cameras are CCD or CMOS (see http://www.dalsa.com/corp/markets/ccd_vs_cmos.aspx). Cameras for industrial inspection used to be 0.5” or 2/3”, they fit C-mount lens systems. See http://www.theimagingsource.com/en_US/products/optics/lenses/ for example.
Cameras are now all UVC compliant see http://www.ideasonboard.org/uvc/. For linux for example this allows plug and play for any new web camera.
See www.stemmer-imaging.co.uk, www.alrad.co.uk , www.hamamatsu.com for examples of cameras, lenses, framestores, light sources
Cameras come in many flavours these days. Ones that interest me are small ones that are used in the tablet and phone industries, as they can be fitted to robots easily. The documents available above are a good starter for reading about cameras. But issues to concern are the type of shutter (global, rolling) the speed of frame capture, the resolution and the lens system, as well as the cost. Industrial cameras cost upwards of £300. A cell phone camera can cost £10 if you can find a supplier willing to sell small quantities.
Attached is the data sheet for a camera (JAL-KC7-HQ02B V5.0) that I have started to use in our robots. It’s a small form factor, cheap but good resolution and can run at 720p at 60fps (1280x720). See http://en.wikipedia.org/wiki/720p for a link into the wider world of HDTV and cameras.
The JAL-KC7-HQ02B V5.0 uses an Omnivision sensor chip OV5674, which is interesting as it is back illuminated, giving it better colour contrast and lower pixel noise. See Fig.1. The camera sensor is similar to the OV5640 that I will discuss below.
The OV5640 (color) image sensor is a low voltage, high-performance, 1/4-inch 5 megapixel CMOS image sensor that provides the full functionality of a single chip 5 megapixel (2592x1944) camera using OmniBSITM technology in a small footprint package. It provides full-frame, sub-sampled, windowed or arbitrarily scaled 8-bit/10-bit images in various formats via the control of the Serial Camera Control Bus (SCCB) interface.
The OV5640 has an image array capable of operating at up to 15 frames per second (fps) in 5 megapixel resolution with complete user control over image quality, formatting and output data transfer. All required image processing functions, including exposure control, gamma, white balance, color saturation, hue control, defective pixel canceling, noise canceling, etc., are programmable through the SCCB interface or embedded microcontroller. The OV5640 also includes a compression engine for increased processing power. In addition, Omnivision image sensors use proprietary sensor technology to improve image quality by reducing or eliminating common lighting/electrical sources of image contamination, such as fixed pattern noise, smearing, etc., to produce a clean, fully stable, color image.
The OV5640 has an embedded microcontroller, which can be combined with an internal autofocus engine and programmable general purpose I/O modules (GPIO) for external autofocus control. It also provides an anti-shake function with an internal anti-shake engine. For identification and storage purposes, the OV5640 also includes a one-time programmable (OTP) memory.
The OV5640 supports both a digital video parallel port and a serial MIPI port. [Source: OV5640 sensor chip data sheet, 2010]
Figure 1. JAL-KC7-HQ02B V5.0
As can be seen from Fig2 (Table 2.1 from the datasheet) that the pixel resolution we take for granted in cameras and displays requires high data rates