Автор Тема: Расширение функции IF_PICTURE_IN  (Прочитано 69 раз)

0 Пользователей и 1 Гость просматривают эту тему.

samnvrsk

  • Зашел в гости
  • *
  • Сообщений: 1
    • Просмотр профиля
Расширение функции IF_PICTURE_IN
« : Апрель 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.
Готов спонсировать и содействовать разработке этого функционала

kiril

  • Герой форума
  • *****
  • Сообщений: 962
    • Просмотр профиля
Re: Расширение функции IF_PICTURE_IN
« Ответ #1 : Апрель 29, 2018, 10:10:10 am »
1. тему в биржу труда, автор программы предложения обычно не читает.
2. все возможные решения по любому будут медленнее существующего COLORMODE.
3. как всегда главный вопрос. Укажите  сразу бюджет вашего проекта, к примеру спонсорам F35 он уже обошёлся более 1 500 000 000 000 $ и это не окончательная сумма.
4. продемонстрируйте собственную реализацию данной функции, апгрейд вашего решения будет быстрее, даже если весь существующий код сразу пойдёт в корзину.

P.S. Если ВСЕ пикселы искомого изображения меняются на 1-2 единицы RGB - то это гарантированно лечится COLORMODE(6) и проверяется экспериментально.