As with all good things, I've been tempted to rewrite the API and implementation and change things massively.
The primary changes being:
Extract the image processing from the BaseCamera into primary functions
Remove the ImageFileCamera and MarkerCamera. Replace with a process_image function, a more generic process_frame function, and some form of get_marker_image. VideoFileCamera will probably stay as-is, as that still makes a bit of sense as a "camera",
Ensure these new methods are part of the public API
Remove get_visible_markers. It's an additional API to maintain (and variants of the below) with little to no benefit ([marker.id for marker in camera.process_frame()] works absolutely fine).
As with all good things, I've been tempted to rewrite the API and implementation and change things massively.
The primary changes being:
BaseCamera
into primary functionsImageFileCamera
andMarkerCamera
. Replace with aprocess_image
function, a more genericprocess_frame
function, and some form ofget_marker_image
.VideoFileCamera
will probably stay as-is, as that still makes a bit of sense as a "camera",get_visible_markers
. It's an additional API to maintain (and variants of the below) with little to no benefit ([marker.id for marker in camera.process_frame()]
works absolutely fine).API examples
CalibrationParameters
.?Implementation probably also requires #202 (and thus #220).