I fabricated the original aruco marker with a side length of 21 micro meter. However, due to fabrication not being perfect there are small deviations in the dimensions. OpenCV is able to detect all the shapes in the maker but rejects them. I tried doing it on the original cad file of the marker and it detected just fine (detection shown in cyan and rejection shown in green). What am I missing here? Is the fabricated marker quality just too bad for it be detected?
probably. show us the source picture, before all that filtering?
Are you running the Aruco detection code on the image pictured, or some original (before filtering / thresholding)? Side length of 21 micrometer? Really?