You got it almost perfect, just a couple small fixes:
- for the mappings with video out to USB, the output size expected by the DemoArUco has to be 20 pixels taller than the input size. This is so we can print how many markers are detected. This is not well documented now, but, for future reference, you can look at outimg.require(...) statements in the source code of any module to see what output layout the module expects (and requires). In the ArUco module, we require width w and height h+20 where w, h are the dimensions of the input image. We need to add this requirement to the doc somehow, just exactly how is non-trivial because the relationship between input and output resolutions can get arbitrarily complex (see, for example, the SaliencyGist module).
I tried this and it works here:
YUYV 640 500 10.0 YUYV 640 480 10.0 JeVois DemoArUco
- now for the mapping with no USB out, there is no output size requirement obviously. What you were likely missing there is that you need to start streaming manually for the no-USB-output modes, by issuing a:
streamon
command. When I do that here and then point the camera to some ArUco markers, the detections are correctly reported over serial. This was documented in http://jevois.org/doc/UserCli.html but clearly that doc could use more details.
EDIT: by the way, the pink screen is because the outimg.require(...) threw and hence you are just gatting garbage frames. You should see an error message related to that throw if you use setpar serlog USB (assuming you are connecting to JeVois over USB).