Вот несколько общих советов для начинающих.
По сути, то, что вы делаете, - это проблема оптимизации. Эти алгоритмы используются для решения многих проблем, и для этого существует несколько известных способов. Они сводятся к этому
- Создайте функцию оценки, которая может подсказать вам, насколько хороший результат у вас есть. Чем больше число, тем лучше.
- Создать функцию, которая принимает входные данные и некоторые параметры и выдает результат, который может быть оценен
- Это важно: функция оценки должна быть несколько непрерывной в зависимости от параметров # 2. Если бы у вас было два параметра, и вы изобразили его в 3D (param1, param2, Score), он был бы похож на неровную поверхность с большими холмами.
- Ваша задача сейчас - найти максимум на поверхности. У вас может быть более двух параметров - в этом случае у вас есть N-D поверхность - но идея та же
Посмотрите информацию о скалолазании, генетических алгоритмах или проблемах оптимизации. Хорошая книга по питону с кодом - «Программирование коллективного разума» Тоби Сегарана.
Вообще, восхождение на холм - это что-то вроде:
- Угадай параметры
- Создать вывод и счет
- Измените один параметр немного
- Оценка выхода
- Если лучше продолжать движение в этом направлении, если хуже, измените направление.
- Если вы застряли - идите куда-нибудь на поверхность и попробуйте там.
- Если вы найдете локальный максимум, но он недостаточно хорош - зайдите в другое место и попробуйте там
Посмотрите на настоящие алгоритмы, хотя они несколько сложнее.
Многие исследования сводятся к тому, чтобы придумать хорошую функцию оценки и хороший способ узнать, какие параметры будут работать и как их использовать.
Используя эту общую схему - просто попробуйте яркость / контраст в качестве функции генерации выходного сигнала (яркость и контраст являются входными данными). Для оценки вам потребуется способ сравнения двух фотографий на совпадение - для начала выберите что-нибудь простое (возможно, жестко запрограммируйте область для проверки).
Как только вы приступите к работе, у вас будет больше идей о том, как это сделать, и вы сможете вернуться к документам для идей.