![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 17.02.2014
Сообщений: 881
|
![]()
Имеется такая задача распознавания образов:
Набор рисунков BMP несколько сотен с разрешением около 200х300.( рисунки сложные, не простые фигуры) Необходимо однозначно определять какой именно рисунок находится в данный момент в bitmap. Расположения рисунков может отличатся на единицы может быть и десятков пикселей( то есть предполагается вносимый шум) Самый простой способ я сделал сумму всех пикселей по R,G,B составляющим по каждому рисунку. Сравнил первый рисунок со всеми остальными по этим данным. Получил что минимальная разница по одной из составляющих доходит до +-0.3%. Я сравнил только по сумме R составляющей. При сравнении сразу по 3м составляющим при тех же данным можно добиться большей различимости, Но все равно при условии шума распознать походу не получится однозначно?. Я хочу найти наиболее простой способ решить такую задачу. Пока вариант разбиение каждого рисунка на более мелкие рисунки, но это палка о двух концах, чем меньше подрисунки тем большее влияние на их шума. И желательно чтобы уж не слишком большие вычисления для загрузки процессора. Последний раз редактировалось Illusiony; 06.01.2015 в 19:15. |
![]() |
![]() |
![]() |
#2 | |
Заблокирован
Регистрация: 24.11.2014
Сообщений: 721
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 17.02.2014
Сообщений: 881
|
![]()
Поправка +-0.3% при сравнении с 100 рисунками, а при дальнейшем сравнении вообще даже 0.025%
![]() Такой способ совсем не годится- это просто математическое замыливание ![]() Шум предполагается- это смещение прототипа относительно области рисунка в Bitmap, в областях где рисунок не попал будет часть другого рисунка. Последний раз редактировалось Illusiony; 06.01.2015 в 19:37. |
![]() |
![]() |
![]() |
#4 | |
Заблокирован
Регистрация: 24.11.2014
Сообщений: 721
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#5 |
Участник клуба
Регистрация: 03.06.2009
Сообщений: 1,871
|
![]()
если рисунок чёрно-белый, то можно попиксельно сравнивать, и если хотя бы доля неправильных пикселей состявляет 10/(200x300), то считать рисунок неверным. калибровать нужно.
а если они ещё и цветные, то ещё и цвета R,G, B тем же макаром сравнивать и для каждого ошибки искать: совпадает/не совпадает....
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 17.02.2014
Сообщений: 881
|
![]()
Рисунки цветные.
"Такой способ совсем не годится"- это я имел ввиду свой первый способ. |
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 03.06.2009
Сообщений: 1,871
|
![]()
есть ещё вариант - выбирать рандомно с кажого рисунка небольшой участок, скажем 10x10 пикс и сравнивать с таким же участком в других рисунках. то есть, не все 60.000 точек шмонать, а всего 100 с произвольного места на картинке. скажем, нижний левый угол. и центр картинки для пущей точности. а вообще, бери 5 участков: 4 по углам и один в центре. процессор, может не будет перегружен тогда
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
|
![]() |
![]() |
![]() |
#8 | |
Форумчанин
Регистрация: 17.02.2014
Сообщений: 881
|
![]() Цитата:
Из-за того что шум- это сдвиг картинки то чем меньше участки изображения тем сильнее сказывается шум. Предствьте , если из участка 10х10 сдвинули на 5 пикселей? то вообще ничего и близко сравнения с прототипом не будет. |
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 23.12.2014
Сообщений: 220
|
![]()
Если картинка имеет сдвиг со сравниваемой картинкой - это плохо иначе можно было бы не участки сравнивать, а выгружать картинки- битмапки в память и сравнивать наподобии сеткой через 10 пикселей по вертикали и 10 по горизонтали например, что увеличило бы скорость сравнения соответственно в 100 раз.
А тебе я незнаю что делать.. Хотя если шум - это только сдвиг то можно проехать в цикле картику например по середине слева на право и сверху вниз только по одной линии-полосе и если сдвиг даже на 50% был то 50% все равно абсолютно совпадут. Картинку можно считать идентичной со сравниваемой тогда. Иначе у тебя вряд ли совпадет и 10% пикселей думаю. |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 17.02.2014
Сообщений: 881
|
![]()
Да вполне разумно. Нужно лишь узнать на сколько возможны отклонения и насколько загрузит процессор множественное сравнение.
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Слияние в MS Word - проблема с путем | CrazyTactic | Microsoft Office Word | 6 | 20.03.2021 07:59 |
Продублировать путем перезаписи | тинки-винки | Общие вопросы C/C++ | 1 | 11.05.2014 06:56 |
Падежи путем замены | ie-pskov | Microsoft Office Word | 26 | 19.05.2011 10:00 |
Проблема с путем Cookie | java_91 | PHP | 1 | 03.05.2011 14:55 |
Сохранение с путем из Edit | amadi | Общие вопросы Delphi | 6 | 26.01.2011 18:56 |