Appium+OpenCV: Images differing only in color accept as equal

#opencv config
image.match.threshold=0.5
fix.image.template.size=true
fix.image.find.screenshot.dimensions=true

I have a game on android. I am trying to assert that the element is present. Element has 2 state: disabled (grey color of elements) and enabled (bright color)
Structure always the same but different color.
The code is the next

    public boolean isDisplayed() {
        log.debug("is displayed :: " + name);
        return waitForMobileElement().isDisplayed();
    }
    MobileElement waitForMobileElement() {
            return await().untilNotNull(() -> findElement().orElseThrow(),
                    String.format("Failed to find element '%s'", name));
    }

But when i run the test - it doesn’t matter which stage in fact: if I look for color one and gray in fact - accept.
If I set IMAGE_MATCH_THRESHOLD = 1 - see nothing

possibly: http://appium.io/docs/en/advanced-concepts/image-elements/ -> we can compare raw result with getting ‘visual’ attribute.

also we can inspect this raw image ourself with full power of openCV without appium.

I assume this behaviour could be customized by changing the matching method in https://github.com/appium/appium-support/blob/adefe876131f811514b5c56fbf8bfe35ef249062/lib/image-util.js#L463 as it is described by https://stackoverflow.com/questions/50856020/template-matching-behavior-on-color

However, right now this parameter is hardcoded and is not configurable. Feel free to add a PR to make it configurable