Судя по комментариям, вы хотели бы повторить пошаговое руководство по Photoshop, на которое указывает @ 0x69.
С Mathematica 8 я сделал следующее:
Шаг1. Я скопировал картинку из урока
Шаг2. Определите точечную функцию, которая изменит красный канал, и примените ее
redfun[x_, s_] := 1/(1 + E^(-((x - 0.5)/s)));
Plot[{t, redfun[t, .1]}, {t, 0, 1}, AspectRatio -> 1]
img2 = ImageApply[{redfun[#[[1]], .1], #[[2]], #[[3]]} &, img]
Step3. Я не знаю алгоритм, используемый в Photoshop для балансировки цвета, поэтому давайте пропустим его и создадим непосредственно виньетку. Балансировка цвета может немного изменить ситуацию.
Step4. Создание виньетки:
vignette = ColorNegate@ImageAdjust[
DistanceTransform[Image[1 - BoxMatrix[1, Reverse@ImageDimensions@img2]]],
{0, 0, 2}, {Automatic, Automatic}]
Вы можете просто умножить два изображения или использовать более интересные режимы наложения (см. Документацию ImageCompose
):
ImageMultiply[img2, vignette]
Было бы легко и быстро настроить и изменить конечный результат.