ArUco marker detection


#1

Hello my Drone Dojo peeps :vulcan_salute:! I have a question that I am pretty sure you guys have answered already, but is not posted… has anyone had any success creating their own dictionary with the version of OpenCV we use in this course, which I beleive is version 3.2, and our version of Python, i.e., 2.7?

I tried to create my own dictionary with ArUco 72, but I’ve had no luck. I can isolate the marker in its various formats via the opencv and numpy methods, but then I cant seem to do anything past that. I’ve tried using the custom_dictionary_from() method to get the first 72 markers from the original dict, but it doesnt work… it always extracts all 1024 markers. (I think thats prob. bc the method isnt officially for version 3.2, its for version 3.4… lmk if I’m wrong.) I’ve also tried messing around with the .bytesList member, but its constant so its not writable. (Unless someone knows something I dont about it)

Since my RPi only has 2GB, I want to optimize the detection with a very small dictionary, so the only solutions I see is 1. use a smaller predefined dictionary, 2. generate my own dictionary and random markers, or 3. upgrade the OpenCV version to get better functionality bc I think more recent versions are more flexible and have more to offer, but I am not sure if upgrading versions will be compatible with everything else from the course.

I could also upgrade the RPi’s RAM, but I would have to break down the drone, which I plan on doing, just not yet. My detection isnt super laggy or anything, Im just trying to trim as much fat as possible while also learning cool stuff.

Has anyone tried any of these things, or are there options I am missing? Any input/thoughts are welcomed. Im going to try upgrading opencv first and seeing how it plays with others, so if anyones interested, reach out! :v: