|
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
|
|
Цвет пикселя31.07.2020, 15:04. Показов 12087. Ответов 78
Нужен максимально быстрый и эффективный инструмент по поиску динамически передвигающейся картинки (заранее известна) на картинке большего размера. Есть поле 25х15, в каждом секторе может находиться только один объект. Фон и цветовая гамма объектов отличается. Нашел getpixelcolor но он на определение цвета пикселя тратит 0.3мс времени, соответственно 25х15=375 проверок, а это 112.5 мс. А для безотказного обнаружения объекта нужно в каждом поле проверять шесть пикселей и выходит 375х6х0.3= 675 мс времени. Есть ли способы делать это быстрее? Какими методами? Какую библиотеку шерстить?
0
|
|
| 31.07.2020, 15:04 | |
|
Ответы с готовыми решениями:
78
Написать программу, которая будет определять цвет пикселя под курсором и выводить на экран этот цвет Цвет пикселя под курсором Получить цвет пикселя в RGB |
|
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
|
|
| 31.07.2020, 15:20 [ТС] | |
|
XLAT, щас бы начинающему в драйвер лезть) По вашему быстрее способа без инжекции в драйвер нет?
0
|
|
|
Just Do It!
|
||
| 31.07.2020, 15:37 | ||
|
найдите фрилансера, который залезет в драйвер вместо вас. ещё: так как туда уже неоднократно залазели, то самый быстрый способ это сразу купить готовый код.
0
|
||
|
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
|
|
| 31.07.2020, 15:41 [ТС] | |
|
XLAT, то есть OpenCV (Пока нагуглил это для работы с изображениями) работает с той же скоростью что и getpixelcolor и всё связанное с поиском цвета пикселя? Вроде бы подход разный, создатели методов разные, в теории и скорость должна быть разной, а что быстрее я не знаю
0
|
|
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
||
| 31.07.2020, 15:52 | ||
Сообщение было отмечено Laborant666 как решение
Решение
0
|
||
|
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
|
|
| 31.07.2020, 15:59 [ТС] | |
|
zayats80888, выходит всё равно лезть в драйвер? Я думал getpixelcolor получает цвет из потока данных от видяхи
Добавлено через 1 минуту zayats80888, А, или туплю. OpenCV работает через видяху? То есть в OpenCV нахождение цвета тысячи пикселей будет происходить быстрее чем через getpixelcolor? Добавлено через 2 минуты zayats80888, просто мне в секунду надо тысячи три пикселей определять) Там такая шайтан машина
0
|
|
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
|||
| 31.07.2020, 16:03 | |||
|
OpenCV - это API для работы с GPU. В винде например у каждого окна есть свои буфферы в видеопамяти(surface и swap chains) в которые они себя рисуют и финальный экранный буффер(descktop surface), в который рисует ОС, беря изображение из буферов окон. У неё то же есть API для работы с этим.
0
|
|||
|
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
|
|
| 31.07.2020, 16:13 [ТС] | |
|
zayats80888, понял, буду разбираться. С тремя тысячами пикселей в секунду это покрывает getpixelcolor. Он способен в секунду выдавать цвета 3 333 пикселей. Изучу OpenCV и сделаю пару тестов, потом сюда же в тему закину результат, видимо без сравнения лоб в лоб никак. OpenCV это единственное, что может работать с изображениями или есть что-то ещё?
Добавлено через 4 минуты zayats80888, про потоки имелось в виду, что видеокарта непрерывным потоком дает изображение и я думал к этому потоку можно присосаться и считывать данные на лету во время отрисовки, а не работать с уже отрисованным изображением. Интересно как работает функция скриншота в виндовс, у меня монитор 1366х768, а это 1 049 088 пикселей и задержек нет никаких при скриншоте, как были бы, если б делать его посредством pixelgetcolor, у которого ушло бы 1 049 088 х 0.3 мс = 3 147 секунд на один скриншот
0
|
|
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
|||
| 31.07.2020, 16:19 | |||
Сообщение было отмечено Laborant666 как решение
РешениеДобавлено через 6 минут
1
|
|||
|
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
|
||
| 31.07.2020, 16:29 [ТС] | ||
|
Добавлено через 6 минут zayats80888, хотя, наверное скриншот просто копирует данные без их определения, а pixelgetcolor ищет именно значение. Думаю в этом разница, копировать то явно быстрее, чем с чем-то сравнивать, может оно вообще аппаратно ищет, а не через поток видеокарты. Какие дебри, ужас. Понавыдумывали всякого разного ногу сломаешь) Спасибо за ответы, пойду шерстить OpenCV и тестировать
0
|
||
|
Just Do It!
|
|||||||
| 31.07.2020, 20:28 | |||||||
Мой экран читает примерно 40 раз в секунду. сам тест: Test gdi32.rar думаю маловато, конеш, но полагаю будет интересно сравнить с твоим результатом на опенсив, когда сделаешь.
0
|
|||||||
|
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
|
|
| 31.07.2020, 20:35 [ТС] | |
|
XLAT, чуть позже гляну до компа доберусь. В смысле FPS?)
Добавлено через 1 минуту XLAT, 40 раз в секунду читает 1 пиксель что-ли? меня смутила позиция отдельного пикселя Добавлено через 4 минуты XLAT, жалко бмпшник не открывается
0
|
|
|
Just Do It!
|
||
| 31.07.2020, 20:37 | ||
|
в данном случае, как я полагаю, тест читает весь экран в буфер, за одну секунду у меня успевает прочитать весь экран(ВЕСЬ ЭКРАН) 41 раз. в принципе нафиг надо, но в плане скорострельности я думаю, что познавательно.
0
|
||
|
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
|
|
| 31.07.2020, 20:40 [ТС] | |
|
XLAT, исходник можно на почту? или это коммерческий проект? скорость невероятная
0
|
|
|
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
|
|
| 31.07.2020, 20:42 [ТС] | |
|
XLAT, файл не является точечным рисунком или формат не поддерживается
0
|
|
|
Just Do It!
|
||||||||
| 31.07.2020, 20:46 | ||||||||
|
но его БЫ причесать, а то от него франкенштейном пахнет ![]() держи:
мож у тебя линуксу кирдык
1
|
||||||||
|
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
|
|
| 31.07.2020, 20:49 [ТС] | |
|
XLAT, Благодарю. Свыше 70млн пикселей в секунду можно определить таким методом. Вот это уже подходит с головой) Тут получается напрямую с буфером операционки работа идет. Буду сюда копаться, а то надо по триста объектов в секунду находить и что б их находить быстро - много точек нужно проверять, тысячами на изображение, а в секунду должно прогоняться 20-40 таких изображений (планка такая)
0
|
|
|
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
|
|
| 31.07.2020, 20:51 [ТС] | |
|
XLAT, держи, мож на десятке чет не так работает?
0
|
|
| 31.07.2020, 20:51 | |
|
Помогаю со студенческими работами здесь
20
Как узнать цвет пикселя изображения?
Получить снимок клиентской области окна и цвет пикселя Функция, которая возвращает цвет пикселя в точке с координатами х, у Получить цвет каждого пикселя изображения, разбив на уровни RGB Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Рецензия / Мнение/ Перевод
https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs
. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|