|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
09.05.2015, 23:36 | #21 |
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
Регистрация: 29.09.2007
Сообщений: 1,824
|
imagemagic нельзя поставить на винду? а потом через shellexec вызывать?
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
|
09.05.2015, 23:53 | #22 |
Форумчанин
Регистрация: 17.02.2014
Сообщений: 881
|
Мне нужно это реализация в собственной программе на delphi 7-она должна распознавать карты и общается с сервером. Это моя клиентская программа которая будет ставиться на машине клиента ( стримера)
Как так получилось сам не пойму . Уже сделал инструкции стримеру и договорился о тестировании и тут на тебе.... Последний раз редактировалось Illusiony; 10.05.2015 в 00:12. |
10.05.2015, 00:29 | #23 |
Форумчанин
Регистрация: 17.02.2014
Сообщений: 881
|
После некоторого тестирования выяснилась примерная степень несовпадений
из 564 изображений базы. в зоне ошибки сравнения одного изображения в разных случаях могло оказаться от до 2-3 десятков изображений. Если посмотреть визуально сравниваемые изображения они для глаза очень похожи. Различия это небольшая размытость, небольшие сдвиги, небольшая разница в размерах объектов на изображениях. Сейчас получается что примерно 60% изображений имеют ошибки распознования ( проверено на примерно 40 изображениях) Даже, если вручную вносить корректировку для ошибочных изображений( если разница цветовых расстояний окажется такой-то то код карты вывести такой-то), то при увеличении базы рисунков вся корректировка улетит в пух и прах ии-за увеличения вариантов цветовых расстояний для сравнения . Все еще усложняется тем что я не могу просто взять сравнить всю базу с всеми возможными входными рисунками, так как они(входные рисунки) определяются в реальной программе игры, для которой необходимы условия и вносится большой рандом для этих условий, коих невозможно сделать быстро. Просто никак не могу найти немного более точный алгоритм сравнения. Я просто делаю сумму всех расстояний между пикселями двух сравниваемых изображений, а потом нахожу где эта сумма наименьшая. Нужно усложнить задачу для большей точности.f.hump писал об этом но, я не особо разобрался. Последний раз редактировалось Illusiony; 10.05.2015 в 02:35. |
10.05.2015, 08:25 | #24 |
Форумчанин
Регистрация: 17.02.2014
Сообщений: 881
|
В некоторых рисунках расхождение около 35% в сумме разностей, а у некоторых небольшое, но если посмотреть глазом сходства вообще практически нету, даже основные цвета различные.
Данный алгоритм слишком грубый и сильно зависит от того как сдвинуты изображения. Не знаю стоит ли разбить сравнение на 4 участка и сравнивать по отдельности. Даст ли это мне что либо? |
10.05.2015, 20:02 | #25 |
Форумчанин
Регистрация: 17.02.2014
Сообщений: 881
|
Вернулся к старому способу:
1) определение среднего расстояния каждого пикселя 2) подсчет пикселей ограниченные некой величниной 3) там где таких пикселей больше считаем изображение распознанным Точно где то 1 несовпадение на 15-20 картинок. которые с ошибками вношу искусственную поправку |
11.05.2015, 21:02 | #26 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
посмотрел
в целом там ошибки нет, я четверку в квадрат не возводил, только содержимое скобок. по-прежнему думаю, что положительный результат можно получить от Код:
Код:
разбение на фрагменты, при правильной логике, может позитивно сказаться на скорости распознавания. Последний раз редактировалось f.hump; 11.05.2015 в 21:38. |
12.05.2015, 18:03 | #27 |
Форумчанин
Регистрация: 17.02.2014
Сообщений: 881
|
f.hump, большое спасибо что откликнулись.
Просто по этим данным: Код:
Код:
Код:
Немного не понимаю ваши последние формулы. Код:
У меня в цикле подсчета расстояния каждого пикселя определяется, если оно меньше 2000 то в массиве для данного изображения базы+1 делаем, а потом пробегаем по всему массиву и там где этот счетчик больше ту карту( рисунок) и считаем верным. От этой цифры немного варьируются результаты при нынешней формуле. То есть всего 4418 пикселей. Примерно значение суммы разницы всех расстояний до совпадения с картой базы порядка 250 000 000. Получаю среднее расстоянние 250 000 000/4418 порядка 55 000. При таком значении(2000) в эту зону входят до сотен или более 1 тысячи пикселей( самое лучшее совпадение) из всех 4418 пикселей. Сейчас если пытаюсь отставить только: Код:
Сумма всех расстояний также составляет сотни миллионов. Все усложняется тем, что мне невозможно проверить любые действия из-за малых входных данных. Нужно играть в игру постоянно, чтобы проверять,а это очень много времени. Последний раз редактировалось Illusiony; 12.05.2015 в 19:49. |
12.05.2015, 19:45 | #28 |
Форумчанин
Регистрация: 17.02.2014
Сообщений: 881
|
А давно у меня было по RGB:
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как сравнить два string? | demigod82 | Общие вопросы C/C++ | 3 | 08.05.2012 23:07 |
Сравнить два файла | demiancz | Общие вопросы Delphi | 22 | 16.02.2011 15:29 |
Сравнить два текстовых файла | assch | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 17 | 29.09.2010 14:41 |
Сравнить два множества. Pascal | MaxMelnikov | Помощь студентам | 3 | 16.03.2009 09:35 |
Сравнить два файла | Aleksandr | Microsoft Office Excel | 6 | 07.10.2008 00:22 |