CMVision

CMVision (Color Machine Vision) is a fast color-segmentation (aka blob-finding) software library. CMVision was written by Jim Bruce at CMU and is Freely available under the GNU GPL. But you don't have to download CMVision yourself, because Player's cmvision driver includes the CMVision code. The cmvision driver provides a stream of camera images to the CMVision code and assembles the resulting blob information into Player's data format.

Consult the CMVision documentation for details on writing a CMVision configuration file.

Compile-time dependencies
  • none
Provides
  • interface_blobfinder
Requires
  • interface_camera : camera device to get image data from
Configuration requests
  • PLAYER_BLOBFINDER_REQ_SET_COLOR
  • PLAYER_BLOBFINDER_REQ_GET_COLOR
Configuration file options
  • debuglevel (int)
    • Default: 0
    • If set to 1, the blobfinder will output a testpattern of three blobs.
  • colorfile (string)
    • Default: ""
    • CMVision configuration file. In the colors section, the tuple is the RGB value of the intended color. In the thresholds section, the values are the min:max of the respective YUV channels.
  • minblobarea (int)
    • Default: CMV_MIN_AREA (20)
    • minimum number of pixels required to qualify as a blob
  • maxblobarea (int)
    • Default: 0 (off)
    • maximum number of pixels allowed to qualify as a blob
[Colors]
(255,  0,  0) 0.000000 10 Red
(  0,255,  0) 0.000000 10 Green
(  0,  0,255) 0.000000 10 Blue

[Thresholds]
( 25:164, 80:120,150:240)
( 20:220, 50:120, 40:115)
( 15:190,145:255, 40:120)
Example
driver
(
  name "cmvision"
  provides ["blobfinder:0"]
  requires ["camera:0"]
  colorfile "/path/to/colorfile"
  minblobarea 1
  maxblobarea 100
)
Author
Andy Martignoni III, Brian Gerkey, Brendan Burns, Ben Grocholsky, Brad Kratochvil