Форум: "Прочее";
Текущий архив: 2007.11.25;
Скачать: [xml.tar.bz2];
Вниз"экстраполяция" рисунка Найти похожие ветки
← →
Virgo_Style © (2007-10-21 12:30) [0]Задача следующая: есть картинка (если быть точным, то несколько картинок, сшитых в одну панораму), у которой рваные края. Для лучшего понимания - представьте себе фотографию с обгоревшими краями, лежащую на черной ткани.
Выглядит это не очень эстетично, надо сказать, но если в это безобразие вписать прямоугольник и по этому прямоугольнику ее обрезать, - то сплошь и рядом за кадром остается слишком много, что тоже обидно.
Есть идея заменить черный фон на некий градиент, чтобы синее небо наверху переходило в синий фон, зеленая трава снизу - в зеленый, бетонка справа в серый и так далее.
Вопрос в том, как это реализовать. Пока что я думаю ставить вручную ключевые точки, а потом подбирать МНК коэффициенты уравнения типа red(X,Y)=K0+Kx*X+Ky*Y (это простейший вариант, которым вряд ли удастся ограничиться), и подкладывать получившийся фон под картинку.
Честно говоря, мне этот вариант не очень нравится. Может быть, подбросите другую идею?
← →
Jump (2007-10-21 12:47) [1]Ambient Light рулит...
← →
vrem_ (2007-10-21 13:32) [2]одну так сделаешь, а на будущее скажи чтоб не рвали.
← →
@!!ex © (2007-10-21 17:03) [3]Я бы делал градиент не для всего фона, а с учетом находящихся поблизости цветов картинки.
Строим два рисунка. ОДин - линейнас интерполяция цвета по вертикали, второй - по горизонтали. Потом смешиваем в один рисунок. получится примерное заполнение рисунка близкими цветами.
← →
Virgo_Style © (2007-10-21 17:32) [4]@!!ex © (21.10.07 17:03) [3]
Я бы делал градиент не для всего фона, а с учетом находящихся поблизости цветов картинки.
Я вроде бы о том же, градиент считается, исходя из заданных точкек рисунка. А два рисунка... зачем и как?
← →
@!!ex © (2007-10-21 19:52) [5]> А два рисунка... зачем и как?
Градиент по вертикали, градиент по горизонтали.
Или для каждого пикселя считать цвет исходя из множества соседних? не думаю, что будет гуд.
← →
Virgo_Style © (2007-10-21 21:18) [6]@!!ex © (21.10.07 19:52) [5]
Градиент по вертикали, градиент по горизонтали.
м-м-м... а на основе чего считать градиенты? Осреднять цвета по границам?
Моя идея такова: есть функции Red(X,Y), Green(X,Y), Blue(X,Y).
В простейшем случае
Red(X,Y) = Kr0+Krx*X+Kry*Y
Green(X,Y) = Kg0+Kgx*X+Kgy*Y
Blue(X,Y) = Kb0+Kbx*X+Kby*Y
Заданы точки (Xi,Yi) с цветами (Ri,Gi,Bi)
Методом наименьших квадратов подбираем коэффициенты K, после чего можем нарисовать наш градиент.
Конечно, можно не ограничиваться первыми степенями X и Y, но это уже следующий шаг.
Множество соседних нам не подойдет ни в каком виде,только рисунок размоет. Хотя, если считать цвет как среднее окружающих пикселей только для точек черного цвета, игнорируя окружающие черные точки... может в этом что-то и есть.
← →
@!!ex © (2007-10-21 21:26) [7]> м-м-м... а на основе чего считать градиенты? Осреднять цвета
> по границам?
Да. градиент дыры - на основе краев дыры.
← →
vpbar © (2007-10-21 23:01) [8]заштампуй в фотошопе или гимпе - быстрее будет.
← →
Dimka Maslov © (2007-10-22 11:31) [9]В фотошопе есть
Spot Healing Bruh Tool
Healing Brush Tool
Patch Tool
Clone Stamp Tool
и многое другое, вплоть до автоматической склейки панорам
← →
Virgo_Style © (2007-10-22 13:30) [10]вручную возни много. Особенно если я позднее захочу эту панораму подправить... Да и полтора десятка панорам вручную - это довольно много возни.
А фотошоп - это довольно недешево и опять-таки вручную.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2007.11.25;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.04 c