Автор Тема: Добавить в цветокорректировку режим "Оттенки серого"  (Прочитано 2068 раз)

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

PovAndy

  • Зашел в гости
  • *
  • Сообщений: 4
    • Просмотр профиля
Здравствуйте!

Столкнулся с проблемой распозновании картинки с мелкими вериткальными линиями. (Например мелкий шрифт)

К примеру:
Мне надо найти на экране слово (написанное не черным цветом), толщина линий в буквах порядка 2-3 пикселей в ширину и размер букв примерно 6х10 пикселей.
А проблема в том, что при увеличении этих букв видно, что вертикальные линии состоят из нескольких вертикальных цветных линий (т.е. однотонный цвет состоит из нескольких разных, при удалении от монитора смотрится как один цвет)!  Что не позволяет искать такие картинки в разных местах экрана, (т.к. один цвет можно получить из смешивания нескольких разных), тем более на разных компьютерах.

Прикладываю картинки:
в маленьком размере они одинаковые и
А при увеличении уже видно разницу
и

Идея в том, что бы в цветокоррекции включить режим "Оттенки серого", что позволит избавится от таких ньюансов и получить чистые буквы без разных цветов.

Сразу скажу, что в режиме Ч/Б (2 цвета) буквы совсем пропадают, т.к. они написаны не очень ярко.
Понижение количества цветов тоже не помогает, буквы теряются...

Vint

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3831
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • Просмотр профиля
Поздравляю, ты открыл для себя сглаживание шрифтов ClearType.

http://crapware.aidf.org/forum/index.php?topic=293.msg2482#msg2482

Только при чём здесь "оттенки серого"? COLORMODE 7 уровня (по надобности и 6-го) дадут меньше оттенков. И к тому же это всё равно не сделает текст определяемым легко без настройки процента совпадения (если оставить 100%). Т.е. чтобы добиться стабильного поиска такого текста, количество телодвижений при "оттенках серого" не уменьшится, а чаще увеличится.

Оттенки серого, по умолчанию  -  256 цветов.
COLORMODE 7                              -      8 цветов
COLORMODE 6                              -    64 цвета

Самый верный способ, если скрипты "для себя" - отключить сглаживание, и больше не париться.

Если скрипт не очень критичен к скорости, можно получить оттенки серого самим скриптом. Вот можешь прикрутить и побаловаться. Потом решить легче стало и стоит ли заморачиваться.
http://crapware.aidf.org/forum/index.php?topic=2390.msg14982#msg14982
продолжение:  тема "коррекция яркость/контраст"


Vint

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3831
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • Просмотр профиля
Во, проверил как эти образцы выглядят в градациях серого... Ничего хорошего.
Видать проще отключить сглаживание


Johnny

  • Создатель
  • Герой форума
  • *
  • Сообщений: 593
    • Просмотр профиля
>Мне надо найти на экране слово (написанное не черным цветом)

если это в браузере, то смотри в сторону плагинов, переопределяющих стили (CSS). тысячи их.
ставишь для данного элемента страницы черный шрифт и все твои проблемы в прошлом

dramster

  • Герой форума
  • *****
  • Сообщений: 1131
    • Просмотр профиля
вот попробовал с коррекцией контраста. тот же COLORMODE(8 ), но со сдвигом "границы между черным и белым".


пару пикселей не совпадают, но при 90% поиске находит и одну и вторую картинку.

Код: Clickermann
  1. SUB(cmode, $k,$mid,$x1,$y1,$x2,$y2 )
  2.  
  3.   print("start cmode")
  4.   GETSCREEN($x1,$y1,$x2,$y2)
  5.   // SCREENSHOTEX($x1,$y1,$x2,$y2)
  6.   FOR($y=$y1,$y<$y2+1)
  7.      FOR($x=$x1,$x<$x2+1)
  8.         $c= pxl($x,$y)
  9.         IF(((colorr($c)+colorg($c)+colorb($c))/3) > $mid)
  10.            $outr=colorr($c)+$k
  11.            $outg=colorg($c)+$k
  12.            $outb=colorb($c)+$k
  13.            IF($outr < $mid)
  14.               $outr=$mid
  15.            END_IF
  16.            IF($outg < $mid)
  17.               $outg=$mid
  18.            END_IF
  19.            IF($outb < $mid)
  20.               $outb=$mid
  21.            END_IF
  22.         else
  23.            $outr=colorr($c)-$k
  24.            $outg=colorg($c)-$k
  25.            $outb=colorb($c)-$k
  26.            IF($outr > $mid)
  27.               $outr=$mid
  28.            END_IF
  29.            IF($outg > $mid)
  30.               $outg=$mid
  31.            END_IF
  32.            IF($outb > $mid)
  33.               $outb=$mid
  34.            END_IF
  35.         END_IF
  36.         IF($outr < 0)
  37.            $outr=0
  38.         END_IF
  39.         IF($outg < 0)
  40.            $outg=0
  41.         END_IF
  42.         IF($outb < 0)
  43.            $outb=0
  44.         END_IF
  45.         IF($outr > 255)
  46.            $outr=255
  47.         END_IF
  48.         IF($outg > 255)
  49.            $outg=255
  50.         END_IF
  51.         IF($outb > 255)
  52.            $outb=255
  53.         END_IF
  54.         PXLREPLACE($x,$y,$x,$y,$c,COLORGEN($outr,$outg,$outb))
  55.      END_CYC
  56.   END_CYC
  57.   print("fin cmode")
  58.  
  59.   SCREENSHOTEX($x1,$y1,$x2,$y2)
  60.  
  61. END_SUB
  62.  
  63.  
  64. cmode(255,240,382,222,410,272)
  65.  
  66.  
  67.  
  68. scanpicture($var, 382,222,410,272, "like.bmp",-1,90)
  69. while (arrsize($var) > 0)
  70.  $y = arrpop($var)
  71.  $x = arrpop($var)
  72.  print($x,":", $y) //находит 2 экземпляра.
  73. end_cyc
  74.  
  75.  
  76. halt
поиск и коррекцию брал прямо из браузера, а у меня скорее всего тоже стоит сглаживание, возможно эти картинки еще больше сгладились  :D.
[spoiler]вин10... тут даже прога для просмотра картинок сглаживает их. паинт вроде не сглаживает, но кликер в нем не видит ничего[/spoiler]
коррекция происходит очень медленно  :(, так-что будем надеяться, что данную процедуру в будущем добавят в кликерманн, и она будет работать также резво как и существующий колормод.


тема по контрасту http://crapware.aidf.org/forum/index.php?topic=2399.0


PovAndy

  • Зашел в гости
  • *
  • Сообщений: 4
    • Просмотр профиля
Во, проверил как эти образцы выглядят в градациях серого... Ничего хорошего.
Видать проще отключить сглаживание

В ч/б переводить не получится, отдельно текст хорошо переводится в 2 цвета, (и то не всегдаЮ, т.к. текст может быть написан светлым цветом!), а если выбрать диапазон снижения цвета больше, чем только сам текст (а так обычно и бывает), т.е. захватить соседние картинки с экрана и т.д., то текст совсем теряется, некоторые точки совсем пропадают!!!!

Оттенки серого, по умолчанию  -  256 цветов.
COLORMODE 7                              -      8 цветов
COLORMODE 6                              -    64 цвета

Самый верный способ, если скрипты "для себя" - отключить сглаживание, и больше не париться.
Я делаю программу для большого количества народа, поэтому каждый не будет замарачиваться с этой настройкой!

Во, проверил как эти образцы выглядят в градациях серого... Ничего хорошего.
Видать проще отключить сглаживание

Спасибо, это попробую!

PovAndy

  • Зашел в гости
  • *
  • Сообщений: 4
    • Просмотр профиля
если это в браузере, то смотри в сторону плагинов, переопределяющих стили (CSS). тысячи их.
ставишь для данного элемента страницы черный шрифт и все твои проблемы в прошлом

Это плагины для браузера или для кликера?
Можно ли из самого кликера изменить css?

PovAndy

  • Зашел в гости
  • *
  • Сообщений: 4
    • Просмотр профиля
Ещё пример цветокорриктеровки
Это оригинал
А это после цветокорриктеровки 8
« Последнее редактирование: Август 07, 2017, 01:00:25 pm от PovAndy »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3831
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • Просмотр профиля
Пример только как пример? Не рабочий, надеюсь.
Просто, нужно стараться не искать текст там, где можно без этого обойтись. На примере прекрасно ищется иконка голосующего человечка.
А по градациям серого, если в новой версии не будет, если получится, то добавлю вот сюда:
http://crapware.aidf.org/forum/index.php?topic=2850.msg22933#msg22933


Vint

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3831
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • Просмотр профиля
Это плагины для браузера или для кликера?
Можно ли из самого кликера изменить css?
Для браузера. "custom style script"  http://crapware.aidf.org/forum/index.php?topic=2973.0

Из кликера нельзя.