Применение эффекта эскиза или мазка кистью к изображению

Я уже предлагаю эффект сепии для изображений, загруженных на сайт, используя что-то вроде этого:

    Dim SepiaMatrix As New ColorMatrix(New Single()() {
     New Single() {0.493F, 0.349F, 0.272F, 0, 0},
     New Single() {0.769F, 0.686F, 0.534F, 0, 0},
     New Single() {0.289F, 0.168F, 0.131F, 0, 0},
     New Single() {0, 0, 0, 1, 0},
     New Single() {0, 0, 0, 0, 0}})
    ...
    Attributes.SetColorMatrix(SepiaMatrix)
    ...
    Gfx.DrawImage(Image, New Rectangle(0, 0, Image.Width, Image.Height), 0, 0, Image.Width, Image.Height, GraphicsUnit.Pixel, Attributes)

Я также хотел бы предложить эффекты кисти и эскиза [Edit: То есть, когда фотография загружается, мое приложение применяет фильтры к фотографии таким образом, чтобы она выглядела как мазки кистью или штриховка и " нарисованные »линии - Точно как на эскизе художника. ]

Я видел этот вопрос, но не совсем понятно, в чем состоит решение, и я бы предпочел не устанавливать Java IDE и сканировать очень продвинутый / гибкий библиотека Java.

Может ли кто-нибудь предоставить ссылку на хороший учебник (по желанию .Net 3.5+, но подойдет любой язык) или предоставить мне базовый список шагов, которые мне нужно применить для достижения моих целей.

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

Большое спасибо за вашу помощь.


person Basic    schedule 18.09.2011    source источник
comment
Вы можете уточнить, какие эффекты вы имеете в виду?   -  person Pekka    schedule 19.09.2011
comment
Эффект эскиза - то есть дать ему фотографию, он обнаруживает края и рисует их, как это сделал бы человек-художник (по крайней мере, очень механический!). При необходимости он также заполняет или заштриховывает другие области. Я видел разные попытки добиться этого в различных графических приложениях, включая PhotoShop. Другой эффект (кисть) очень похож, за исключением того, что вместо линий карандаша он использует мазки кисти.   -  person Basic    schedule 19.09.2011
comment
Раз уж вы упомянули PHP - это поможет? Превращение фотографии в мультфильм с помощью PHP   -  person Pekka    schedule 19.09.2011
comment
@Pekka Спасибо, я этого не нашла! Это правильная идея, но есть пара проблем ... он использует приложение imagemagick, которое добавит зависимости к моему коду - я пытаюсь избежать этого, поскольку обработка изображений сама по себе является библиотекой, а imagemagick не распространен в IIS машины. Кроме того, я хотел бы знать, как это сделать, чтобы я мог настраивать его сколько угодно, а не полагаться на чужое приложение. Тем не менее, спасибо за предложение   -  person Basic    schedule 19.09.2011


Ответы (1)


Проект aForge - это набор библиотек с открытым исходным кодом, который выполняет фильтры изображения (наряду со многими другими вещами). У них есть фильтр для масляной краски (не совсем то, что вы просили, но он будет поучительным: http://code.google.com/p/aforge/source/browse/trunk/Sources/Imaging/Filters/Other/OilPainting.cs. Также кто-то создал фильтр PencilSketch на основе библиотеки aForge, и вы можете увидеть его исходный код здесь: http://blendfilter.codeplex.com/SourceControl/changeset/view/67619#1218773.

person Kris Erickson    schedule 19.09.2011
comment
Это выглядит очень многообещающе - мне придется его прочитать и посмотреть, что я смогу узнать. - person Basic; 19.09.2011