Совмещение двух изображений

Обсуждение вопросов, связанных с обработкой аудио и видео информации
asterisk
beginner
beginner
Сообщения: 22
Зарегистрирован: 11 ноя 2011, 22:26
Версия LabVIEW: 8.5
Контактная информация:

Совмещение двух изображений

Сообщение asterisk »

Здравствуйте! Подскажите, пожалуйста, как в LabVIEW можно совместить два изображения. Цель - получить из двух однотипных изображений одно. Здесь приложены эти два изображения (видно, что на одном светлые круги похожи на запятые и их кончик направлен вправо, а на другом изображении налево). Хотелось бы как-то их совместить при помощи LabVIEW и выделить некую общую часть. Сами изображения вводятся в программу как массив точек 256 на 256.
Есть такая идея: например фиксируем одну матрицу, а элементы другой сдвигаем на 1,2,3,4,5 индексов либо в плюс, либо в минус. Затем из элементов первой матрицы вычитаем элементы второй, получаем некий третий массив, у которого складываем все элементы. Так мы двигаем вторую матрицу и все время считаем сумму элементов разностного массива и найдем минимальную. Но я плохо себе представляю как это осуществить в LabVIEW. Подскажите, пожалуйста!! Ну или если можно, киньте какую-нибудь другую идею!!
Аватара пользователя
Oleg B.

Activity Professionalism
leader
leader
Сообщения: 674
Зарегистрирован: 25 сен 2011, 11:30
Награды: 2
Версия LabVIEW: 5 .. 2021
Откуда: Israel
Контактная информация:

Re: Совмещение двух изображений

Сообщение Oleg B. »

Здесь приложены эти два изображения
Ни чего не приложено.
veni, vidi, phallomorphi
asterisk
beginner
beginner
Сообщения: 22
Зарегистрирован: 11 ноя 2011, 22:26
Версия LabVIEW: 8.5
Контактная информация:

Re: Совмещение двух изображений

Сообщение asterisk »

Вложения:
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5467
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 88 раз

Re: Совмещение двух изображений

Сообщение IvanLis »

asterisk писал(а):Здравствуйте! Подскажите, пожалуйста, как в LabVIEW можно совместить два изображения. Цель - получить из двух однотипных изображений одно. Здесь приложены эти два изображения (видно, что на одном светлые круги похожи на запятые и их кончик направлен вправо, а на другом изображении налево). Хотелось бы как-то их совместить при помощи LabVIEW и выделить некую общую часть. Сами изображения вводятся в программу как массив точек 256 на 256.
Есть такая идея: например фиксируем одну матрицу, а элементы другой сдвигаем на 1,2,3,4,5 индексов либо в плюс, либо в минус. Затем из элементов первой матрицы вычитаем элементы второй, получаем некий третий массив, у которого складываем все элементы. Так мы двигаем вторую матрицу и все время считаем сумму элементов разностного массива и найдем минимальную. Но я плохо себе представляю как это осуществить в LabVIEW. Подскажите, пожалуйста!! Ну или если можно, киньте какую-нибудь другую идею!!
Растровое изображение - везде изображение и представляется в виде массива.
Извлечь его можно используя функции :labview: , а потом собрать обратно.
Вставка части картинки в Picture
Контрастность!!!!

Ну а как с массивами работать думаю вопросов не возникнет :wink:

----------------

Прошу прощения не дочитал вопрос до конца и не правильно его понял.
Ждите нового ответа, чем смогу помогу :crazy:


Вам в принципе не изображение надо использовать, а график интенсивности Intensity Graph и проще и удобнее
Аватара пользователя
Oleg B.

Activity Professionalism
leader
leader
Сообщения: 674
Зарегистрирован: 25 сен 2011, 11:30
Награды: 2
Версия LabVIEW: 5 .. 2021
Откуда: Israel
Контактная информация:

Re: Совмещение двух изображений

Сообщение Oleg B. »

Есть такая идея: например фиксируем одну матрицу, а элементы другой сдвигаем на 1,2,3,4,5 индексов либо в плюс, либо в минус. Затем из элементов первой матрицы вычитаем элементы второй, получаем некий третий массив, у которого складываем все элементы. Так мы двигаем вторую матрицу и все время считаем сумму элементов разностного массива и найдем минимальную.
Shift сдвигает матрицу по одной оси, Shift2 - по другой.
Обрати внимание, что в минус тоже работает.
Вложения
Compare.rar
(214.11 КБ) 168 скачиваний
veni, vidi, phallomorphi
asterisk
beginner
beginner
Сообщения: 22
Зарегистрирован: 11 ноя 2011, 22:26
Версия LabVIEW: 8.5
Контактная информация:

Re: Совмещение двух изображений

Сообщение asterisk »

не могли бы вы пересохранить в версии 8.5?
Аватара пользователя
Oleg B.

Activity Professionalism
leader
leader
Сообщения: 674
Зарегистрирован: 25 сен 2011, 11:30
Награды: 2
Версия LabVIEW: 5 .. 2021
Откуда: Israel
Контактная информация:

Re: Совмещение двух изображений

Сообщение Oleg B. »

Нет проблем
Вложения
Compare 8.5.rar
(210.46 КБ) 142 скачивания
veni, vidi, phallomorphi
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5467
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 88 раз

Re: Совмещение двух изображений

Сообщение IvanLis »

Мне почему-то кажется, что более целесообразно вычислить "центр масс" изображения и совместить их.
Так как всего необходимо просчитать X*Y (худший вариант) комбинаций.
Да и та часть изображения которая была добавлена/отрезана, тоже на результат повлияет.
центр масс у изображений совпадает
центр масс у изображений совпадает
AddPic.png
AddPict.vi
lv2010
(21.63 КБ) 161 скачивание
AddPict 8.0.vi
lv8.0
(290.49 КБ) 153 скачивания
Но в любом случае выбирать автору по результатам тестирования.
Аватара пользователя
Oleg B.

Activity Professionalism
leader
leader
Сообщения: 674
Зарегистрирован: 25 сен 2011, 11:30
Награды: 2
Версия LabVIEW: 5 .. 2021
Откуда: Israel
Контактная информация:

Re: Совмещение двух изображений

Сообщение Oleg B. »

IvanLis писал(а):Мне почему-то кажется, что более целесообразно вычислить "центр масс" изображения и совместить их.
Проверил, разница "центров масс" меньше единицы.
В моем варианте минимальная разница получается при смещении на два пикселя по одной оси.
veni, vidi, phallomorphi
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5467
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 88 раз

Re: Совмещение двух изображений

Сообщение IvanLis »

Oleg B. писал(а):
IvanLis писал(а):Мне почему-то кажется, что более целесообразно вычислить "центр масс" изображения и совместить их.
Проверил, разница "центров масс" меньше единицы.
В моем варианте минимальная разница получается при смещении на два пикселя по одной оси.
я видел, только уменьшение разницы в Вашем случае чем больше обусловлено???
сдвигом на два пикселя...
....и при этом изображения больше совпадают
....и при этом добавляется/удаляется два столбца/строки, которые компенсируют разницу изображений

:dntknw:
Аватара пользователя
Oleg B.

Activity Professionalism
leader
leader
Сообщения: 674
Зарегистрирован: 25 сен 2011, 11:30
Награды: 2
Версия LabVIEW: 5 .. 2021
Откуда: Israel
Контактная информация:

Re: Совмещение двух изображений

Сообщение Oleg B. »

я видел, только уменьшение разницы в Вашем случае чем больше обусловлено???
сдвигом на два пикселя...
....и при этом изображения больше совпадают
....и при этом добавляется/удаляется два столбца/строки, которые компенсируют разницу изображений
Ничего не добавляется, только удаляется.
При смещении на два пикселя по одной оси сравниваются массивы размером, в данном случае, 254х256
veni, vidi, phallomorphi
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5467
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 88 раз

Re: Совмещение двух изображений

Сообщение IvanLis »

Oleg B. писал(а):Ничего не добавляется, только удаляется.
При смещении на два пикселя по одной оси сравниваются массивы размером, в данном случае, 254х256
Oleg B. писал(а):Проверил, разница "центров масс" меньше единицы.
В моем варианте минимальная разница получается при смещении на два пикселя по одной оси.
Я прошу прощения, мы мало знакомы и я не знаю кто вы по образованию и в какой области работаете.
Но то что вы выдаете за "оптимум" - это всего лишь "локальный минимум"
У меня например согласно вашей программы, минимальная разница получается при смещении 255 / 255 :rtfm:
разница при этом составляет 5355, против Ваших 4795155, но не факт, что это минимум
так как взят был на обум :dntknw:
Снимок.png
Снимок.png (4.6 КБ) 6782 просмотра
!!! Не логично, но такова математика
Аватара пользователя
Oleg B.

Activity Professionalism
leader
leader
Сообщения: 674
Зарегистрирован: 25 сен 2011, 11:30
Награды: 2
Версия LabVIEW: 5 .. 2021
Откуда: Israel
Контактная информация:

Re: Совмещение двух изображений

Сообщение Oleg B. »

У меня например согласно вашей программы, минимальная разница получается при смещении 255 / 255 :rtfm:
Разумеется, ведь в данном случае размер сравниваемых массивов 1х1
asterisk просил совместить два изображения, поэтому сдвиг больший, чем половина размера наименьшего пятна не имеет смысла.
Я прошу прощения, мы мало знакомы и я не знаю кто вы по образованию и в какой области работаете.
Ответ пришлю в личку.
veni, vidi, phallomorphi
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5467
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 88 раз

Re: Совмещение двух изображений

Сообщение IvanLis »

Oleg B. писал(а):Разумеется, ведь в данном случае размер сравниваемых массивов 1х1
Здесь я согласен, но:
IvanLis писал(а):уменьшение разницы в Вашем случае чем больше обусловлено???
сдвигом на два пикселя...
....и при этом изображения больше совпадают
....и при этом добавляется/удаляется два столбца/строки, которые компенсируют разницу изображений
Вопрос не снят !
asterisk
beginner
beginner
Сообщения: 22
Зарегистрирован: 11 ноя 2011, 22:26
Версия LabVIEW: 8.5
Контактная информация:

Re: Совмещение двух изображений

Сообщение asterisk »

Oleg B. спасибо большое!! Очень хорошо, что можно двигать и сразу смотреть, что получается. Я получала похожие результаты, но это было сделано " в лоб " обычными действиями над матрицами. Я не знала как сдвигать попиксельно. Но вот вопрос, как вытащить после всего ту часть, которая совпала??? Та часть - это истинный частицы, который мы видим. Как вытащить этот истинный массив?
Ответить

Вернуться в «Работа с графикой и звуком»