При поиске изображения «с самой высокой контрастностью» вам необходимо быть очень осторожным при определении контраста для изображения. Проще говоря, контраст - это разница между самой низкой интенсивностью и самой высокой интенсивностью в изображении. Это не очень полезно в вашем случае.
Я предлагаю вам использовать гистограммный подход, чтобы описать контраст данного изображения, а затем сравнить свойства гистограмм, чтобы определить изображение с наибольшим контрастом при его определении. Вы можете использовать различные хорошо известные контейнеры для представления гистограммы в коде или создать класс для удовлетворения ваших конкретных потребностей. (Я не имею в виду, что вам нужно создать гистограмму в форме диаграммы - просто статистическое представление значений интенсивности.) Вы можете использовать дисперсию каждой гистограммы непосредственно в качестве меры контрастности или использовать стандартное отклонение, если с ним легче работать.
Ключ действительно заключается в том, как вы определяете контраст изображения. В целом, я бы определил высококонтрастное изображение как одно со значениями, присутствующими для всех или почти для всех возможных значений. И еще я бы добавил, что в этом определении высококонтрастного изображения значения интенсивности изображения будут иметь тенденцию равномерно распределяться по диапазону возможных значений.
При использовании этого подхода низкоконтрастное изображение, как правило, будет иметь относительно немного дискретных значений интенсивности, и они будут иметь тенденцию быть тесно сгруппированными вместе, а не равномерно распределенными. (Как правило, они также будут сгруппированы по направлению к центру диапазона.)