It is an application to detect Aruco Markers and stream the data to MQTT.
When any of the two applications reports an error with the camera, try giving it camera permissions by hand (through the OS settings).
Open the calibration app and tap on the image, until the thin text on the bottom left shows 15/15 pictures. If there is no text, just take 15 pictures, before clicking on OK. Save the file somewhere on the SD card.
Afterwards, you can open the main App. It will ask for the calibration file first.
Also, it will complaining about not having camera permissions. Give the permissions manually.
Then, you can tap on the wrench and set your settings. Setting coordinates for the origin marker shifts the whole coordinate system.
Currently, coordinates are only published when the origin marker is visible.
Coordinates of other markers than the origin will be aligned to the origins coordinate system.
The origin marker will not be published via MQTT, since it's location is known (0, 0 by default)
If no markers are found, change the dictionary type.
I made minimal effort to make this work, so feel free to open an issue if something is broken.
GLHF!
This application is mostly made here: https://github.com/RivoLink/Aruco-Android I only inserted the configuration, added the coordinate normalization and MQTT stuff.
This application uses:
- opencv-contrib for computer vision, see LICENSE,
- aruco, module from opencv-contrib, for aruco markers detection.
- rajawali, for 3D models renderer.
See more about opencv, and aruco from:
As stated above, opencv-contrib uses the BSD license. For details, see LICENSE.
Aruco Android is an application to detect Aruco Markers, and try to render a 3D model above it.
If you have No Implementation Found or library "libopencv_java3.so" not found, instead of master, use feature/all-platforms
git fetch origin
git checkout feature/all-platforms
git pull origin feature/all-platforms
Alternative method: copy all the native opencv libraries into the project, for this:
Camera must be calibrated before detect markers, for that,
- compile and run camera-calibration projet,
- present the calibration board to the camera
- capture between 15 and 20 images, and
- click on calibrate menu.
Each frame must contain at least 10 markers
After that, compile app project and enjoy...
You can help turn this application into Augmented Reality, there are some bugs on the positioning of the 3D model above marker.
Thank you :)
You can see in the repository below another marker detection application which uses Vuforia library.



