|
Подобие матриц (картинок), критерий подобия |
|
|
Guest_TSerg_*
|
Mar 19 2013, 07:33
|
Guests

|
Например так:
Для каждой картинки размером N*M: - переводим в оттенки серого; - находим средний уровень; - бинаризируем по среднему уровню; Получаем N*M битовое слово
Поразрядно сравниваем число совпадений K бит в битовых словах двух картинок (т.е. обе единицы или оба нуля - совпадение). Степень похожести R := K/(N*M) При необходимости квантуем до 5-бальной системы.
|
|
|
|
|
Mar 20 2013, 15:29
|
Местный
  
Группа: Участник
Сообщений: 239
Регистрация: 15-11-09
Из: Санкт-Петербург
Пользователь №: 53 639

|
Цитата(Punk @ Mar 19 2013, 09:47)  Скажем, посчитать для обоих определители и их сравнить. Посчитать определитель - это, по-вашему, операция с минимальным количеством действий?
|
|
|
|
|
Mar 21 2013, 02:43
|

Местный
  
Группа: Участник
Сообщений: 242
Регистрация: 19-06-06
Из: Новосибирск
Пользователь №: 18 167

|
Цитата(Kluwert @ Mar 20 2013, 19:29)  Посчитать определитель - это, по-вашему, операция с минимальным количеством действий? я просто предлагаю варианты, уверен есть лучше, но я оних не знаю, вот и спрашиваю. По поводу бинаризации: А есть способы без нее? Существует ли вообще универсальный метод определения подобия одноразмерных матриц состоящих из любых чисел?
|
|
|
|
|
Mar 21 2013, 06:51
|
Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030

|
Цитата(Major @ Mar 21 2013, 08:50)  Спектр матрицы полностью определяет ее, но считать спектр долго (дорого). А собственные вектора получаются информации не несут?
--------------------
ну не художники мы...
|
|
|
|
Guest_TSerg_*
|
Mar 21 2013, 06:54
|
Guests

|
>По поводу бинаризации: А есть способы без нее?
Так это копеечная операция - сравнение с порогом и присваивание очередному биту 1 или 0. Делается как раз для того, чтобы в дальнейшем свести вычисление отклонения к такой же простейшей операции, как подсчет числа лог. 1 и 0 в двух длинных числах.
|
|
|
|
|
Mar 21 2013, 07:26
|
Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030

|
Цитата(Major @ Mar 21 2013, 10:03)  Собственные вектора никто не предлагал. Если матрица эрмитова, то сингулярные и собственные числа будут эквивалентны. Я про то, что ТС изначально выделил слово "матрица", лишь в скобках написав "картинка". Если это матрица, то возможно у нее есть свойства, и хватит ее следа для решения задачи. Мне кажется ТС имел ввиду изначально картинки. А под подобием он понимает не http://ru.wikipedia.org/wiki/%D0%9F%D0%BE%...%B8%D1%86%D1%8Bа некоторую меру идентичности картинок.
--------------------
ну не художники мы...
|
|
|
|
|
Mar 21 2013, 09:45
|

Местный
  
Группа: Участник
Сообщений: 242
Регистрация: 19-06-06
Из: Новосибирск
Пользователь №: 18 167

|
Цитата(alex_os @ Mar 21 2013, 11:26)  Мне кажется ТС имел ввиду изначально... Вообще, изначально, вопрос пришел из идеи сделать стереоскопический сенсор расстояния из двух камерок от сотика, который бы, примерно определял расстояние до любого предмета, находящегося поблизости от него. И эту операцию я планировал сделать при помощи сравнения картинок. Чем больше сходства, тем предмет ближе. Почему именно так? так захотелось=)
Сообщение отредактировал Punk - Mar 21 2013, 09:47
|
|
|
|
|
Mar 21 2013, 11:19
|
Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030

|
Цитата(Punk @ Mar 21 2013, 12:45)  Вообще, изначально, вопрос пришел из идеи сделать стереоскопический сенсор расстояния из двух камерок от сотика, который бы, примерно определял расстояние до любого предмета, находящегося поблизости от него. И эту операцию я планировал сделать при помощи сравнения картинок. Чем больше сходства, тем предмет ближе. Почему именно так? так захотелось=) Наверное чем меньше сходство тем ближе? Тогда такой вариант, сдвигать картинку с одного сенсора по оси соединяющей сенсоры. И вычислять сумму модулей разностей пикселей картинок. Сдвиг соответствующий минимуму суммы модулей будет как-то соответствовать расстоянию до предмета.
--------------------
ну не художники мы...
|
|
|
|
Guest_TSerg_*
|
Mar 21 2013, 12:58
|
Guests

|
Цитата(alex_os @ Mar 21 2013, 15:19)  сдвигать картинку с одного сенсора по оси соединяющей сенсоры. И вычислять сумму модулей разностей пикселей картинок. Сдвиг соответствующий минимуму суммы модулей будет как-то соответствовать расстоянию до предмета. Возможны неоднозначности при наличии однородного фона и предмета. Кроме того, в зависимости от пестроты будет наблюдаться значительная нелинейность. Пример: сканирование картинки 100*100 по горизонтали на 100 px. ( по оси абсцисс 0 - полное совпадение картинок, 100 - полное несовпадение)  P.S. Впрочем и упомянутый мной алгоритм тоже имеет похожий, хотя и меньший ньюанс. *************************** Вот такой метод должен работать: - перевод в шкалу серого; - бинаризация; - вычитание изображений ( получим матрицу с элементами -1; 0; +1 ) - находим геометрические центры областей со знаком "плюс" и со знаком "минус" - дистанция между геом. центрами будет соответствовать параллаксу, а значит и расстоянию.  *** Для большей наглядности метода несколько идеализируем изображение. Как видно, есть возможность измерения как дальности, так и угловой ориентации.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|