BFMatcher constructor documentation:
NORM_HAMMING should be used with ORB, BRISK and BRIEF,
NORM_HAMMING2 should be used with
ORB::ORB constructor description)
ORB constructor documentation:
WTA_K - [...] Other possible values are 3 and 4. [...] Such output will occupy 2 bits, and therefore it will need a special variant of Hamming distance, denoted as
NORM_HAMMING2 (2 bits per bin).
In other words the right choice is the one that matches your
ORB configuration (
WTA_K==4), otherwise you'll wind up with incorrect norms and correspondingly poorer/inconsistent matching performance.