Композиция из двух изображений - PullRequest
0 голосов
/ 13 декабря 2011

Я пытаюсь решить проблему компоновки двух изображений в Java.Программа возьмет часть первого изображения и вставит его на втором изображении.Цель состоит в том, чтобы сделать границу между двумя изображениями менее видимой.Граница должна быть выбрана таким образом, чтобы разница между двумя изображениями на границе была небольшой.

Мои задачи:

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

ПРИМЕЧАНИЕ: Возвращаемое изображение не должно быть соединенным изображением, а даетбыли использованы части двух изображений.

Пиксели линии границы могут быть помечены константой (SEAM).Пиксели первого изображения могут быть помечены целым числом 0, пиксели второго изображения - целым числом 1. После выбора линии границы алгоритм заливки может использоваться для заполнения дополнительных пикселей 0 или 1.

ПРИМЕЧАНИЕ: Изображение может быть представлено в виде графика, при котором каждый пиксель связан со своим левым, правым, верхним и нижним соседями.Таким образом, использование заливки будет похоже на поиск в глубину.

shortest path algorithm необходимо использовать для выбора границы, чтобы сделать ее маленькой.

ПРИМЕЧАНИЕ: Я не могу использовать какую-либо структуру данных Java, кроме Arrays (даже ArrayList), или я могу использовать собственную структуру данных.

Ребята, я новичок в этой области и пытаюсь ее решить.Какие шаги я должен выполнить, чтобы решить эту проблему?или указатель на учебник будет полезен.

Мои основные проблемы:

** Как мне представить изображения в виде графиков в кодах Java (например, смассивы или моя собственная структура данных).**

Мне нужен кто-то, чтобы помочь мне с отправной точкой.Мне нужна помощь, пожалуйста.

Ответы [ 2 ]

1 голос
/ 12 июня 2013

Вы можете применить различный уровень непрозрачности на границе к центру изображения. Так что края не могут быть идентифицированы.

см. http://sreejithvs999.wordpress.com/2013/06/12/transparent-image-composition-in-java-fixing-an-image-over-another-with-changing-opacity-or-alpha-of-pixels/

, где одно изображение фиксируется поверх другого с изменяющейся прозрачностью.

0 голосов
/ 13 декабря 2011

Вот что может быть ответом на вашу часть вопроса «Основная проблема».

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

Current pixel : [X,Y]
Top pixel : [X,Y-1] 
Bottom pixel : [X,Y+1]
Left pixel : [X-1,Y]
Right pixel : [X+1,Y]

ПРИМЕЧАНИЕ: X и Y являются индексом в двумерном массиве.Кроме того, при увеличении / уменьшении X или Y для вычисления соседнего пикселя необходимо убедиться, что вы не переполняете / не переполняете границу изображения, т. Е. Уменьшение не должно приводить к тому, что значение X / Y будет <0, а приращение не должноЗаставьте X превышать ширину изображения, а Y - больше высоты изображения. </p>

См .: http://docs.oracle.com/javase/tutorial/2d/images/index.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...