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

#opencv config

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: -> 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 as it is described by

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