Кибор » Кибор - Интегрированная среда разработки ботов » О программе Кибор » Версия 2.09 Сравнение цвета пикселя по приблизительному цвету. Поиск пикселей определенного цвета.

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

31. lavpochta - 19 Марта, 2021 - 06:43:05 - перейти к сообщению
Это очень нужная вещь, спасибо!
А то приходилось вручную писать анализ разбежности для скрина в массиве
32. edyapd - 23 Июня, 2021 - 08:35:55 - перейти к сообщению
Прошу помощи, самому справится не получается.
Имеется несколько вопросов.

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?
33. Kibor - 23 Июня, 2021 - 08:56:24 - перейти к сообщению
 edyapd пишет:
Но в программе красный 255 (#0000FF). Значит ли это, что в программе применяется BGR? Или я в чём-то ошибаюсь?

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

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

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

Не знаю. Код сам по себе ни о чем не говорит где и что ищется.
Координаты идут от начала зоны поиска относительно указателя.
34. edyapd - 23 Июня, 2021 - 10:32:31 - перейти к сообщению
 Kibor пишет:
0000FF является 255.

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

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

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

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

И не много не по теме. Можно ли как-то закрыть окно, которое вызывается по messagebox с клавиатуры?
35. Kibor - 23 Июня, 2021 - 10:46:19 - перейти к сообщению
 edyapd пишет:
Вот например ЗДЕСЬ красному соответствует #FF0000. И это не единственный ресурс, где именно такое соответствие


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

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

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

Можно. Если на него навести фокус. К примеру альт таб.
36. neba2101 - 03 Декабря, 2021 - 04:23:31 - перейти к сообщению
Как кодом упростить цвета в сохраненном изображении в памяти Кибор?
Есть у похожих программ такой функционал как упрощение цвета. Иногда на мой взгляд очень помогает работать с изображениями и цветами пикселей. Упрощает он до такого количества цветов:
Таблица значений 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 цвета)
Что-то такое хотелось бы.
37. Zireael - 03 Декабря, 2021 - 04:27:09 - перейти к сообщению
 Цитата:
Как кодом упростить цвета в сохраненном изображении в памяти Кибор?

В самом кибор будет медленно, через длл нужно.
38. neba2101 - 03 Декабря, 2021 - 04:37:49 - перейти к сообщению
 Zireael пишет:
 Цитата:
Как кодом упростить цвета в сохраненном изображении в памяти Кибор?

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


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


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

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

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

...Только начинаю шарить эту тему...
40. neba2101 - 19 Декабря, 2021 - 06:22:52 - перейти к сообщению
Как я понял, неравномерное квантование - это то, что нужно в данном случае.
Нашел вот такой пост(для просмотра ссылки Вам необходимо авторизоваться) , но не понимаю как его переписать для Кибор.

Можно было бы и в Кибор добавить такую фичу для картинок и для getcolor().
Мне так она для getcolor() нужна. Может кто помочь?

Powered by ExBB FM 1.0 Final