Вопрос о 2х картинках

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 24.03.2003 (Пн) 14:57

Ответ прост и очевиден: никак :)

moderator
Модератор
Модератор
 
Сообщения: 1896
Зарегистрирован: 10.12.2001 (Пн) 18:11
Откуда: Украина, Харьков

Сообщение moderator » 24.03.2003 (Пн) 15:39

Я бы так безаппеляционно не говорил :wink:

Это возможно - но сложно. Порнографию-то в картинках распознают :wink:

Короче, это задача сродни нейронным сетям и распознаванию образов.
Модератор
http://www.vbstreets.ru / moderator@vbstreets.ru

... Почетные награды: [*], [+], [!]. Все еще впереди...

Firestorm
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 946
Зарегистрирован: 02.05.2002 (Чт) 14:36
Откуда: Russia

Сообщение Firestorm » 24.03.2003 (Пн) 16:26

ну может быть замутить чё-нить типа сделать одинаковые размеры и сравнивать по кускам (хоть по пикселам)... :twisted:
...просто гламурный падонак...
_________________
reborn! v.2 :twisted:
_________________

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 24.03.2003 (Пн) 16:52

2 moderator



Заявление было столь безаппеляционным потому что:



1) Реализация подобных методов требует высокой квалификации в упомянутых тобой областях. Человек, ее имеющий такого вопроса не задаст :wink:



2) В рамках VB это будет сделать сложновато.



В общем, доступными методами в обозримое время создать реально работающий код будет невозможно. :)

GoGosha
Постоялец
Постоялец
 
Сообщения: 642
Зарегистрирован: 02.08.2002 (Пт) 9:14
Откуда: Russia

Сообщение GoGosha » 24.03.2003 (Пн) 18:33

Ну на первый взгляд их можно оценить по цвету угловых пикселей как картинку не растянивай, угловые пиксели цвет не изменят. Во вторых по процентному содержанию цветов, ну а если в одной картинке есть какой-то цвет, а в другой нет-то это определённо разные картинки, возможно только с изменённой яркостью. Но и это можно 'обезвредить' рассматрия цвета, как в фотошопе у волшебной палочки с "допуском" (за верность не ручаюсь. сам всё это только что придумал)

goro
Постоялец
Постоялец
 
Сообщения: 494
Зарегистрирован: 03.12.2002 (Вт) 11:45
Откуда: Украина, Запорожье

Сообщение goro » 24.03.2003 (Пн) 18:57

Можно еще посмотреть какой размер в байтах картинки. У кого больше, у того и расширение больше. Но этот вариант может и не пройти т.к. второй рисунок может быть сохранен к пирмеру в 2 цветах да еще и ГИФ. :)
ПРЕВЕД

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 24.03.2003 (Пн) 19:01

Ну хватит уже строить планы полета на Денеб :) Смысл всех постингов уже изложен в том что я написал ;) Так что давайте не будем засорять форум ;)

goro
Постоялец
Постоялец
 
Сообщения: 494
Зарегистрирован: 03.12.2002 (Вт) 11:45
Откуда: Украина, Запорожье

Сообщение goro » 24.03.2003 (Пн) 19:27

Я понимаю, что ты ГУРУ и "можешь" писать что угодно, но может быть человеку захочется посмотреть мнения, а не просто прочитать про невозможность выполнения своего вопроса :evil: :evil:
ПРЕВЕД

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 24.03.2003 (Пн) 19:29

Хм.. чего это я в самом деле :oops: просто я рассматривал постинги в ключе ответа на сам вопрос... Видимо, заработался уже :roll:

sanches
El compañero
El compañero
 
Сообщения: 823
Зарегистрирован: 09.01.2003 (Чт) 3:58
Откуда: Р_О_С_С_И_Я ! (Питер)

Сообщение sanches » 24.03.2003 (Пн) 19:43

допустим у меньшей картинки размер m*n. Тогда разбить большую картинку на m столбцов и n строк и сравнивать угловой пиксель каждого куска с соответствующим пикселем в меньшей картинке. При совадении увеличивать счетчик. Потом найти процент совпавших пикселей и если он будет довольно высоким, то посчитать картинки равными :wink: Это скорее всего прокатит только для картинок, измененных в размерах. В случае, если изменена яркость, можно действительно (как в Photoshop'е) применить допуск.

ЗЫ Это не то, что говорил GoGosha: представь есть две картинки: у первой верхняя половина белая, другая черная, у второй картинки наоборот - процент одинаковый но картинки абсолютно разные :)
Изображение

Morfius
Новичок
Новичок
 
Сообщения: 46
Зарегистрирован: 25.03.2003 (Вт) 14:27
Откуда: КМВ

Сообщение Morfius » 25.03.2003 (Вт) 14:36

А если 2 картинки запихнуть в image1 и image2, поставить свойство Stretch=true, тогда эти картинки будут выглядеть одинаково, а затем с помощью api( BltBit вроде так называется) сравнить эти 2 картинки???
Жизнь похожа на сказку, - Чем дальше, тем страшнее

aaf
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 190
Зарегистрирован: 08.02.2002 (Пт) 13:48
Откуда: Russia

Сообщение aaf » 26.03.2003 (Ср) 6:54

У меня есть 1 картинка, но у неё 2 копии : 1 с размером 600-800 другая допустим 1000 на 1600, как програмно определить что это одна и таже картинка, просто 1 в разных размерах????
Если известен способ и (или?) алгоритм измения картинки в другой размер, то можно вторую картнку привести к такому же размеру и сравнивать уже ее - мне почему то кажется что будет одно и то же :wink: [/i]
Вечный LAmer

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 26.03.2003 (Ср) 9:43

Я предлагаю чуть по другому. Очень просто и в большинстве случаев работает. Привести обе картинки к одному меньшему размеру (например, 100x100) и сравнить попиксельно со следующими условиями:
1. Если цвет пикселов различается не более, чем на 1%, то они считаются одинаковыми;
2. Если после проверки более 95% пикселов одинаковы, то картинки также одинаковы с высокой долей вероятности.

Если вторую картинку привести к первой, то они не будут одинаковы, так как неизвестны детали, как была получена меньшая картинка вначале: использовался или нет AntiAliasing, если да, то с каким коэффициентом (x1, x2, x4), может добавлялся Gauss Blur.
Lasciate ogni speranza, voi ch'entrate.

GoGosha
Постоялец
Постоялец
 
Сообщения: 642
Зарегистрирован: 02.08.2002 (Пт) 9:14
Откуда: Russia

Сообщение GoGosha » 28.03.2003 (Пт) 16:51

alibek писал(а):Я предлагаю чуть по другому. Очень просто и в большинстве случаев работает. Привести обе картинки к одному меньшему размеру (например, 100x100) и сравнить попиксельно со следующими условиями:
1. Если цвет пикселов различается не более, чем на 1%, то они считаются одинаковыми;
2. Если после проверки более 95% пикселов одинаковы, то картинки также одинаковы с высокой долей вероятности.

Если вторую картинку привести к первой, то они не будут одинаковы, так как неизвестны детали, как была получена меньшая картинка вначале: использовался или нет AntiAliasing, если да, то с каким коэффициентом (x1, x2, x4), может добавлялся Gauss Blur.



После увеличения а потом наоборот-уменьшения (причём непропорционального 600/100<>800/1600) изображение искажается очень сильно

sanches
El compa&#241;ero
El compa&#241;ero
 
Сообщения: 823
Зарегистрирован: 09.01.2003 (Чт) 3:58
Откуда: Р_О_С_С_И_Я ! (Питер)

Сообщение sanches » 28.03.2003 (Пт) 19:28

ну так именно поэтому не 100% а 95% (хотя лучше еще меньше)
Изображение


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Google-бот, Mail.ru [бот] и гости: 55

    TopList