Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (5): « 1 2 3 [4] 5 »   

> Описание: Сранение цвета пикселя по приблизительному цвету. Поиск пикселей определенного цвета.
lavpochta
Отправлено: 19 Марта, 2021 - 13:43:05
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 27
Дата рег-ции: Нояб. 2019  
Репутация: 0




Это очень нужная вещь, спасибо!
А то приходилось вручную писать анализ разбежности для скрина в массиве

(Отредактировано автором: 19 Марта, 2021 - 13:46:53)

 
 Top
edyapd
Отправлено: 23 Июня, 2021 - 16:35:55
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 2
Дата рег-ции: Март 2021  
Репутация: 0




Прошу помощи, самому справится не получается.
Имеется несколько вопросов.

1. Раскладка цветов. Мне не совсем понятно. Во многих источниках указано, что #FF0000 - это красный цвет в RGB. Но в программе красный 255 (#0000FF). Значит ли это, что в программе применяется BGR? Или я в чём-то ошибаюсь?

2. Непосредственно по findcolor. Имеется вот такая картинка

[img](для просмотра ссылки Вам необходимо авторизоваться) /img]
Я её вставляю в Paint. И мне требуется подсчитать сумму зелёных пикселей в каждой из областей. Создал такой скрипт.
Код (Отобразить)


И хотя меня не интересуют координаты пикселей, просто решил проверить, там ли программа их ищет. Оказалось, что координаты вообще не соответствуют, даже заданной области для поиска. У меня выдало х=9, у=1. Хотя примерное количество (217) вроде как соответствует. В чём моя ошибка?

3. Можно ли сделать так, чтобы цвет можно было задавать в HEX формате. Если это возможно на данный момент, то просьба привести пример. Я попробовал несколько способов, не получилось.

4. Можно ли задать координаты элементом массива? К примеру имеется 4 зоны для поиска. И я хотел бы сделать просто в цикле перебором. Но если я подставляю вместо координаты start_Y[i] (где start_Y ранее инициализированный массив), то мне выдаёт ошибку.

5. Можно ли найти количество пикселей, не сохраняя их координат? (не выделяя под них память?). Может быть вместо указателей на массив координат поставить -1?
 
 Top
Kibor
Отправлено: 23 Июня, 2021 - 16:56:24
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




 edyapd пишет:
Но в программе красный 255 (#0000FF). Значит ли это, что в программе применяется BGR? Или я в чём-то ошибаюсь?

Чтение байт в hex числах идет справа на лево.
0000FF является 255.
Хоть в калькуляторе, хоть в памяти процесса, хоть в другом языке программирования.

 edyapd пишет:
Можно ли сделать так, чтобы цвет можно было задавать в HEX формате

int c=0x0000FF;
messagebox (c);
(Добавление)
 edyapd пишет:
В чём моя ошибка?

Не знаю. Код сам по себе ни о чем не говорит где и что ищется.
Координаты идут от начала зоны поиска относительно указателя.
 
 Top
edyapd
Отправлено: 23 Июня, 2021 - 18:32:31
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 2
Дата рег-ции: Март 2021  
Репутация: 0




 Kibor пишет:
0000FF является 255.

С этим я не спорю. Вопрос был про другое. Вот например ЗДЕСЬ красному соответствует #FF0000. И это не единственный ресурс, где именно такое соответствие. Впрочем я уже запомнил и теперь просто меняю местами первый и третий байты.

 Kibor пишет:
Не знаю. Код сам по себе ни о чем не говорит где и что ищется.
Координаты идут от начала зоны поиска относительно указателя.

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

Спасибо за эти разъяснения.
И можно ещё ответить на пятый вопрос?
5. Можно ли найти количество пикселей, не сохраняя их координат? (не выделяя под них память?).
Так как я не знаю. сколько пикселей может найтись. А выделять излишнюю память как-то не хочется. Те более, что мне важно только количество, а не их координаты.

И не много не по теме. Можно ли как-то закрыть окно, которое вызывается по messagebox с клавиатуры?

(Отредактировано автором: 23 Июня, 2021 - 18:33:03)

 
 Top
Kibor
Отправлено: 23 Июня, 2021 - 18:46:19
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




 edyapd пишет:
Вот например ЗДЕСЬ красному соответствует #FF0000. И это не единственный ресурс, где именно такое соответствие


А в C++ 0x0000FF равно 255 а 0xFF0000 равно 16711680

 edyapd пишет:
5. Можно ли найти количество пикселей, не сохраняя их координат? (не выделяя под них память?).

Нет.
Надо выделять. Но не думаю что те адцать интов сделают погоду.
(Добавление)
 edyapd пишет:
И не много не по теме. Можно ли как-то закрыть окно, которое вызывается по messagebox с клавиатуры?

Можно. Если на него навести фокус. К примеру альт таб.
 
 Top
neba2101
Отправлено: 03 Декабря, 2021 - 12:23:31
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 142
Дата рег-ции: Февр. 2017  
Репутация: 4




Как кодом упростить цвета в сохраненном изображении в памяти Кибор?
Есть у похожих программ такой функционал как упрощение цвета. Иногда на мой взгляд очень помогает работать с изображениями и цветами пикселей. Упрощает он до такого количества цветов:
Таблица значений mode
mode Макс. цветов
0 ---- 16 777 216
1 ---- 2 097 152
2 ---- 262 144
3 ---- 32 768
4 ---- 4 096
5 ---- 512
6 ---- 64
7 ---- 8

Исходник
С 6 фильтром (64 цвета)
Что-то такое хотелось бы.
 
 Top
Zireael
Отправлено: 03 Декабря, 2021 - 12:27:09
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4397
Дата рег-ции: Нояб. 2017  
Репутация: 580




 Цитата:
Как кодом упростить цвета в сохраненном изображении в памяти Кибор?

В самом кибор будет медленно, через длл нужно.
 
 Top
neba2101
Отправлено: 03 Декабря, 2021 - 12:37:49
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 142
Дата рег-ции: Февр. 2017  
Репутация: 4




 Zireael пишет:
 Цитата:
Как кодом упростить цвета в сохраненном изображении в памяти Кибор?

В самом кибор будет медленно, через длл нужно.


А можно пример?
Часто не принципиально уникальность цвета пикселя, а важно больше синий по координатам цвет или зеленый, или красный, или какое-то количество оттенков(например 5-10) этих цветов.
Не нужно этих 100500 млрд оттенков.

(Отредактировано автором: 03 Декабря, 2021 - 12:45:52)

 
 Top
Kutuz_off
Отправлено: 14 Декабря, 2021 - 23:52:48
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 47
Дата рег-ции: Окт. 2016  
Репутация: 0




 neba2101 пишет:
А можно пример?
Часто не принципиально уникальность цвета пикселя, а важно больше синий по координатам цвет или зеленый, или красный, или какое-то количество оттенков(например 5-10) этих цветов.
Не нужно этих 100500 млрд оттенков.


Мне тоже очень интересно подобное, а конкретнее: написать свой подбор цвета аналогично функции встроенной в редактор (подбор усредненных цветов из выделенной области картинки для поиска Find Heap Color).

У вас есть успехи в своем направлении?

Может кто-то уже знает, как закодить такой же подбор цветов как и в кибор?

...Только начинаю шарить эту тему...

(Отредактировано автором: 14 Декабря, 2021 - 23:59:18)

 
 Top
neba2101
Отправлено: 19 Декабря, 2021 - 14:22:52
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 142
Дата рег-ции: Февр. 2017  
Репутация: 4




Как я понял, неравномерное квантование - это то, что нужно в данном случае.
Нашел вот такой пост(для просмотра ссылки Вам необходимо авторизоваться) , но не понимаю как его переписать для Кибор.

Можно было бы и в Кибор добавить такую фичу для картинок и для getcolor().
Мне так она для getcolor() нужна. Может кто помочь?
 
 Top
Страниц (5): « 1 2 3 [4] 5 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« О программе Кибор »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by