Алгоритм для нахождения подобных изображений

Исключение нулевого указателя - это индикатор того, что вы используете объект, не инициализируя его.

Например, ниже - класс ученика, который будет использовать его в нашем коде.

public class Student {

    private int id;

    public int getId() {
        return this.id;
    }

    public setId(int newId) {
        this.id = newId;
    }
}

Приведенный ниже код дает вам исключение с нулевым указателем.

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}

Поскольку вы используете Obj_Student, но вы забыли инициализировать его, как в правильном коде, показанном ниже:

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student = new Student();
            obj_Student.setId(12);
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}
77
задан Robert Harvey 12 August 2014 в 15:14
поделиться

12 ответов

Я сделал что-то подобное путем разложения изображений на подписи с помощью , вейвлет преобразовывает .

Мой подход должен был выбрать старшее значащее n коэффициенты от каждого преобразованного канала и запись их местоположения. Это было сделано путем сортировки списка (питание, местоположение) кортежи согласно брюшному прессу (питание). Подобные изображения совместно используют общие черты, в которых у них будут значительные коэффициенты в тех же местах.

я нашел, что было лучше преобразовать в изображение в формат YUV, который эффективно позволяет Вам подобие веса в форме (Y канал) и цвет (ультрафиолетовые каналы).

Вы можете в находке моя реализация вышеупомянутого в mactorii, который, к сожалению, я не продолжал работать так же, как у меня должен быть:-)

Другой метод, который некоторые мои друзья использовали с удивительно хорошими результатами, должен просто изменить размеры Вашего изображения вниз для высказывания, 4x4 пикселя и хранилище, которые являются подписью. То, как подобные 2 изображения, может быть выиграно, говорят, вычисляя манхэттенское расстояние между 2 изображениями, с помощью соответствующих пикселей. У меня нет деталей того, как они выполнили изменение размеров, таким образом, Вам, вероятно, придется играть с различными алгоритмами, доступными для той задачи найти ту, которая подходит.

57
ответ дан freespace 24 November 2019 в 10:56
поделиться

Существуют некоторые хорошие ответы в другом потоке на этом, но интересно, работало ли что-то включающее спектральный анализ? Т.е. сломайте изображение к, он - фаза и амплитудная информация, и сравните тех. Это может избежать некоторых проблем с обрезкой, преобразованием и различиями в интенсивности. Так или иначе это - просто я размышляющий, так как это походит на интересную проблему. Если Вы искали http://scholar.google.com , я уверен, что Вы могли бы придумать несколько статей об этом.

0
ответ дан dbrien 24 November 2019 в 10:56
поделиться

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

1
ответ дан Dima 24 November 2019 в 10:56
поделиться

Вы могли выполнить своего рода соответствующую блоку оценку движения между двумя изображениями и измерить полную сумму невязок и затраты вектора движения (во многом как, можно было бы сделать в видео кодере). Это компенсировало бы движение; для бонусных очков сделайте оценку движения аффинного преобразования (компенсирует масштабирование и протяжение и подобный). Вы могли также сделать перекрытые блоки или оптический поток.

1
ответ дан Dark Shikari 24 November 2019 в 10:56
поделиться

В зависимости от того, сколько точных результатов Вам нужно, можно просто повредить изображения в n x n пиксельные блоки и проанализировать их. Если Вы получаете различные результаты в первом блоке, Вы не можете прекратить обрабатывать, приведя к некоторым повышениям производительности.

Для анализа квадратов можно, например, получить сумму значений цвета.

2
ответ дан 24 November 2019 в 10:56
поделиться

Это походит на проблему со зрением. Вы могли бы хотеть изучить Адаптивное Повышение, а также алгоритм Извлечения Строки Записей. Понятия в этих двух должны помочь с приближением к этой проблеме. Граничное обнаружение является еще более простым местом, чтобы запуститься, если Вы плохо знакомы с алгоритмами визуализации, поскольку оно объясняет основы.

До параметров для классификации:

  • Цветовая палитра & Местоположение (Вычисление градиента, гистограмма цветов)
  • Содержавшие Формы (Ada. Повышение/Обучение для обнаружения форм)
2
ответ дан willasaywhat 24 November 2019 в 10:56
поделиться

Некоторые программные продукты распознавания изображений на самом деле не чисто основаны на алгоритме, но используют нейронная сеть понятие вместо этого. Выезд http://en.wikipedia.org/wiki/Artificial_neural_network и а именно, NeuronDotNet, который также включает интересные образцы: http://neurondotnet.freehostia.com/index.html

3
ответ дан petr k. 24 November 2019 в 10:56
поделиться

Это - трудная проблема! Это зависит от того, насколько точный необходимо быть, и это зависит от того, с какими изображениями Вы работаете. Можно использовать гистограммы для сравнения цветов, но это, очевидно, не принимает во внимание пространственное распределение тех цветов в рамках изображений (т.е. формы). Граничное обнаружение, сопровождаемое некоторой сегментацией (т.е. выбирание форм), может обеспечить шаблон для соответствия против другого изображения. Можно использовать матрицы совпадения событий для сравнения структур путем рассмотрения изображений как матрицы пиксельных значений и сравнения тех матриц. Существуют некоторые хорошие книги там по соответствию изображения и машинному зрению - поиск на Amazon найдет некоторых.

Hope это помогает!

4
ответ дан Ben 24 November 2019 в 10:56
поделиться

Вы могли использовать Перцепционная Разность Изображения

, Это - утилита командной строки, которая сравнивает два изображения с помощью перцепционной метрики. Таким образом, это использует вычислительную модель зрительной системы человека, чтобы определить, отличаются ли два изображения визуально, таким образом, незначительные изменения в пикселях проигнорированы. Плюс, это решительно сокращает количество ложных положительных сторон, вызванных различиями в генерации случайных чисел, ОС или различиях в архитектуре машины.

5
ответ дан Alejandro Bologna 24 November 2019 в 10:56
поделиться

Я использовал , ОТСЕИВАЮТ , чтобы повторно обнаружить te тот же объект в различных изображениях. Это действительно мощно, а скорее сложно, и могло бы быть излишеством. Если изображения, как предполагается, довольно подобны, некоторые простые параметры на основе различия между двумя изображениями могут сказать Вам вполне немного. Некоторые указатели:

  • Нормализуют изображения т.е. делают среднюю яркость обоих изображений тем же путем вычисления средней яркости обоих и уменьшения масштаба самого яркого согласно порции (чтобы не отсекать на высшем уровне)), особенно, если Вы больше интересуетесь формой, чем в цвете.
  • Сумма цветового различия о нормализованном изображении на канал.
  • находят края в изображениях и измеряют расстояние betwee краевые пиксели в обоих изображениях. (для формы)
  • Делят изображения на ряд дискретных регионов и сравнивают средний цвет каждого региона.
  • Порог изображения в одном (или ряд) уровень (уровни) и количество число пикселей, где получающиеся черные/белые изображения отличаются.
12
ответ дан jilles de wit 24 November 2019 в 10:56
поделиться

Существует связанное использование исследования Kohonen нейронные сети/сами, организующие карты

еще Обе академических системы (Google для PicSOM) или меньше академика
( http://www.generation5.org/content/2004/aiSomPic.asp , (возможно не подходящий для всех сред работы)), представления существуют.

3
ответ дан EPa 24 November 2019 в 10:56
поделиться

pHash может вас заинтересовать.

перцепционный хэш n. отпечаток аудио, видео или графического файла, который математически основан на аудио или визуальном контенте, содержащемся в нем. В отличие от криптографических хеш-функций, которые полагаются на лавинный эффект небольших изменений входных данных, приводящих к радикальным изменениям выходных данных, перцептивные хеш-функции «близки» друг к другу, если входные данные визуально или на слух похожи.

43
ответ дан 24 November 2019 в 10:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: