Viewing Results
Eight applications have their findings drawn on the image they were found in, in green, and AI Object Matching has its boxes drawn on a camera’s live frames (see AI Object Matching on a camera stream):
| Application | Drawn | Labelled with |
|---|---|---|
|
a rectangle at the angle the match was found |
the template’s name and the score |
|
a rectangle around the object |
the object’s id and the score |
|
a rectangle around each word |
the word itself and the score |
|
each region tinted, one colour per region |
the region’s number and its area, as |
|
a rectangle around each code |
the decoded text and the score |
|
a rectangle around each code |
the decoded text and the score |
|
a rectangle around each code |
the decoded text and the score |
|
a rectangle around each code |
the decoded text and the score |
A code that was located but not decoded has no text, and is labelled with its score alone.
How a view is named
An application with modules is listed by module, and each module is one view.
A code reader has no modules — there is one reader per application — so it has a single view, named
after the code it reads: datamatrix-code, qr-code, aztec-code or bar-code.
The Area Detector is drawn differently
A rectangle cannot show that two touching parts were separated rather than merged: overlapping boxes look the same either way. The Area Detector’s regions are tinted instead, one colour per region, over the image underneath so the part is still visible through the tint.
The number before the area is the region’s number in output/blob-labels, which is also what picks
its colour — so an area on screen can be traced to the pixels it was measured from.
AI Object Matching on a camera stream
While an AI Object Matching module infers on a camera’s image stream (its
control/subscribe/output/stream/active is true), the module’s view is live: it shows the camera’s
frames with the boxes of the module’s latest result drawn on them, in green, each labelled with its
class name and score. A class the module’s class names do not cover is labelled with its number. See
Live view.
The view shows the module’s one source, the stream named by its setting/stream/address. A result
the source’s camera did not produce (its lineage names another camera) is not drawn on that camera’s
frame. When the module subscribes to another stream, the view follows it within about a second.
|
The boxes are drawn on the very frame the result was found in: the result’s lineage names it, and Cockpit keeps the camera’s recent frames (64 MB) to find it. The view therefore shows a new picture with each result, not with each frame. When the frame is no longer kept - the module took longer than that to infer - the boxes are drawn on the newest frame instead, and the note approximate says so: while the scene moves, a box may then be a little off. |
While the module is not streaming, its view shows its last result image, as before.