Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.84/25: Рейтинг темы: голосов - 25, средняя оценка - 4.84
Zviad

Как сравнить два изображения ?

22.06.2008, 22:07. Показов 5066. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как мне узнать являются ли изображения из одного файла, на пример:

Image img1=getImage(getCodeBase, '1.gif');
Image img2=getImage(getCodeBase, '2.gif');

if(img1==img2)
{
и т. д.
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.06.2008, 22:07
Ответы с готовыми решениями:

Как сравнить два Object? (>,<,=>,<=)
это части кода которые задействованы : Object ColomnName = new String{ &quot;Router brand&quot;, ...

Как сравнить два цвета?
Всем привет. Подскажите начинающему програмировать как можна сравнить два цвета один и котрых задан ро умолчанию, а второй должен браться...

Как сравнить два массива с числами
Есть два обычных массива типа Integer: private int arr1 = new int; private int arr2 = new int; Ну и допустим туда загрузим...

5
0 / 0 / 4
Регистрация: 14.08.2007
Сообщений: 307
24.06.2008, 16:34
Может быть тебе попробовать строить из этих Image массивы пикселов и потом сранивать эти массивы?
Построить из Image массив может класс java.awt.image.PixelGrabber
а сравнить массивы:java.util.Arrays.equals(int[] a, int[] a2)
0
3 / 3 / 3
Регистрация: 07.11.2007
Сообщений: 270
24.06.2008, 16:56
А если так: прочесть последовательность символов из первого файла, и просуммировать коды его символов; сделать то же самое со вторым файлом. Сравнить полученные числа. Допустим, что оба файла - одинаковы. Тогда и обе суммы будут равны (во всяком случае вероятность совпадения сумм на различных достаточно больших файлах очень не велика). Если суммы различны - файлы различны также.
0
0 / 0 / 0
Регистрация: 27.02.2008
Сообщений: 56
25.06.2008, 13:26
Если речь идет о том, были ли два изображения взяты из одного файла, то удобнее запоминать и сравнивать имена файлов. Например, можно сделать так:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class MyImage extends Image {
  private String fileName;
  private Image im;
  publc MyImage(Image im, String fileName) {
    this.im = im;
    this.fileName = fileName;
  }
 
  // ... Делегируешь все методы, чтобы их реально выполнял im;
 
  public boolean equals(Object o) {
    if (! (o instanceof MyImage)) return false;
    return fileName.equals( ((MyImage)o).fileName );
  }
}
А пользоваться этим добром примерно так:
Java
1
2
3
4
String fn = '...';
MyImage mi = new MyImage(someComponent.getToolkit().createImage(fn), fn);
...
if (mi.equals(another_mi)) {...
Если же речь идет о сравнении содержимого, то было бы невыгодно вычислять свертку изображения каждый раз, когда нужно выполнить сравнение. Ее лучше вычислять при создании объекта и хранить в объектной переменной. А вот что касается алгоритма свертки, то это отдельная (и не маленькая) песня. Его нужно выбирать исходя из особенностей задачи. Суммой значений байтов тут не отделаешься. Так что, сермяжная правда, скорее всего, в побайтовом сравнении всего изображения.
0
3 / 3 / 3
Регистрация: 07.11.2007
Сообщений: 270
25.06.2008, 14:51
Не как решение, а как повод поразмышлять: воспользоваться java.util.zip.CRC32. Правда 100% гарантий и тут не будет, но может работать будет быстрей ?
0
Ghost
25.06.2008, 15:56
CRC32 штука быстрая, по крайней мере точно быстрее свертки, но тогда, я думаю, проще просто провести побайтное сравнение файлов.
Это быстрее и алгоритм проще будет ))))
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.06.2008, 15:56
Помогаю со студенческими работами здесь

Как сравнить два строковых массива?
Добрый день. Пробую сравнить два строковых массива, а если точнее надо сравнить 1 строку с первой второго массива, вторую со Если...

Как сравнить два числа типа string?
Я ввожу два числа типа string. Как мне их сравнить(т.е. как применить операции &lt;,&gt;,&gt;=,&lt;=)?

Имеются два числа long, как их сравнить между собой?
привет всем. прошу не ругаться. Но есть вопрос.....имеются два числа long. как их сравнить между собой?

Как сравнить два изображения на идентичность?
Как можно сравнить двух изображение на идентичность, то есть на двух изображениях одно и то же предмет или человек??

Подскажите, как сравнить два изображения??
Подскажите, как сравнить два изображения?? Можно даже по названию загруженного файла. Image img1 = Image.FromFile(&quot;img1.png&quot;); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита, которое может. . .
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа разработанного в конфигурации КА2. В качестве источника данных указан регистр накопления, в который записываются данные о. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru