Visual shape-detection

Todo
This driver is currently disabled because it needs to be updated to the Player 2.0 API.

The simpleshape driver looks for simple geometric shapes in a camera image. The user must supply a model of the target shape, in the form of a binary image (such as the one shown below).

Sample model for the simpleshape detector
Compile-time dependencies
  • OpenCV
Requires
  • This driver acquires image data from a interface_camera interface.
Provides
  • This driver provides detected shapes through a interface_blobfinder interface.
  • This driver also supplies processed image data through a interface_camera interface (this data is intended mostly for debugging). Note that the dimensions of the output image are twice that of the input image: the output image is divided into four parts, each showing one step in the detection process. From top-to-bottom and left-to-right, these are: original image (monochrome), edge image, contour image, detected shapes.
Output image (debugging)
Configuration requests
  • none
Configuration file options
  • model (string)
    • Default: NULL
    • Filename of the model image file. This should by a binary, grayscale image.
  • canny_thresh (float tuple)
    • Default: [40 20]
    • Thresholds for the Canny edge detector.
  • match_thresh (float tuple)
    • Default: [0.50 20.0 0.20]
    • Match thresholds (?)
Example
driver
(
  name "simpleshape"
  requires ["camera:0"]
  provides ["blobfinder:1" "camera:1"]
  model "simpleshape_h.pgm"
)
Author
Andrew Howard