1
Предложения / Расширение функции IF_PICTURE_IN
« on: April 29, 2018, 08:53:00 AM »
Задача
Требуется анализ изображения в браузере при скроллинге содержимого
Проблема.
При скроллинге содержимого веб-страницы некоторые элементы изображения незначительно меняют цвет.
Значения R, G, B меняются на 1-2 пункта, но для ВСЕГО искомого изображения сразу, т.е. для всех пикселей!
Существующие решения
Многочисленные эксперименты с COLORMODE, палитрами монитора и прочее не привели к устойчивому результату.
Параметр currency также не подходит, т.к. ВСЕ пикселы искомого изображения меняются на 1-2 единицы RGB
Предложение
Добавить в функцию IF_PICTURE_IN параметр точности поиска, который бы указывал,
на сколько каждый пиксель искомого изображения может отличаться от изображения на экране.
Т.е., например, если параметр равен 2, то искомое изображение считается найденным, если значение пикселей RGB различаются не более, чем на 2 пункта.
Если хотя бы один цвет RGB отличается более, чем на 2, то изображение не найдено.
P.S.
Такую функцию я реализовал сам и она успешно работает уже несколько месяцев.
Проблема лишь в том, что вложенные циклы в интерпретаторе очень медленно выполняются, и сравнение идет довольно долго (~10 мин на i7 6 ядер)
Поэтому я и предлагаю реализовать это на уровне транслятора.
P.S.S.
Готов спонсировать и содействовать разработке этого функционала
Требуется анализ изображения в браузере при скроллинге содержимого
Проблема.
При скроллинге содержимого веб-страницы некоторые элементы изображения незначительно меняют цвет.
Значения R, G, B меняются на 1-2 пункта, но для ВСЕГО искомого изображения сразу, т.е. для всех пикселей!
Существующие решения
Многочисленные эксперименты с COLORMODE, палитрами монитора и прочее не привели к устойчивому результату.
Параметр currency также не подходит, т.к. ВСЕ пикселы искомого изображения меняются на 1-2 единицы RGB
Предложение
Добавить в функцию IF_PICTURE_IN параметр точности поиска, который бы указывал,
на сколько каждый пиксель искомого изображения может отличаться от изображения на экране.
Т.е., например, если параметр равен 2, то искомое изображение считается найденным, если значение пикселей RGB различаются не более, чем на 2 пункта.
Если хотя бы один цвет RGB отличается более, чем на 2, то изображение не найдено.
P.S.
Такую функцию я реализовал сам и она успешно работает уже несколько месяцев.
Проблема лишь в том, что вложенные циклы в интерпретаторе очень медленно выполняются, и сравнение идет довольно долго (~10 мин на i7 6 ядер)
Поэтому я и предлагаю реализовать это на уровне транслятора.
P.S.S.
Готов спонсировать и содействовать разработке этого функционала