gmlServiceSimpleCalibration Class Reference
Detailed Description
Manage automatic 2D-2D geometric calibration for exactly one client.
Caveats:
- the grabber used must be running on the same machine as this
service
- concurrent calibration is not possible
- the points must be sent by the client in the camera's reading order
- matrices are transferred in row-major order
- point coordinates are transferred in (x,y) order (column-major)
Service channels:
- calibration (duplex)
Used to negotiate calibration with a GUI client, as follows:
the client asks for the calibration processs to start:
``Calibrate``
the service acknowledges:
``Calibrating``
the client displays a grid, and sends the point coordinates in
camera reading order, in display coordinates:
``Points`` 12.34 56.78 90.12 34.56
the service finishes calibration and acknowledges; an error
estimate in display pixels is provided:
``Done`` 1.23
If an error occur at any point during the calibration process,
the service sends back an error message on this channel and disconnects.
- matrix (duplex)
The results of the latest successful calibration will be sent to
any peer that connects to this channel. If no calibration has been
performed yet, the unit matrix will be sent.
When a calibration is completed, the new results will be broadcast to
all connected peers.
- grabber (input)
- Connects to the "once" channel of a GML Frame Grabber
service. It is used to fetch a frame before and after the client
displays a calibration grid.
Public Member Functions
constructor args
destructor
|