Как да създадете ефект на инсулт на Photoshop?

Търся начин програмно да пресъздам следния ефект:

Дайте входно изображение:
http://www.shiny.co.il/shooshx/ConeCarv/q_input.png

Искам итеративно да приложа ефекта "щрих".
Първата стъпка изглежда така:
http://www.shiny.co.il/shooshx/ConeCarv/q_step1.png

Втората стъпка като тази:
http://www.shiny.co.il/shooshx/ConeCarv/q_step2.png

И така нататък.

Предполагам, че това ще включва някакъв вид откриване на ръба и след това проследяване на ръба по някакъв начин.
Има ли известен алгоритъм, който да направи това по ефективен и стабилен начин?


person shoosh    schedule 31.10.2008    source източник


Отговори (1)


По принцип персонализиран алгоритъм би бил според тази тема:

Вземете квартала 3x3 около пиксел, определете прага на алфа канала и след това вижте дали някой от 8-те пиксела около пиксела има различна алфа стойност от него. Ако е така, нарисувайте кръг с даден радиус с център в пиксела. За да направите вътре/отвън, модулирайте чрез праговия алфа канал (отхвърлете, за да направите другата страна). Ще трябва да поставите праг на по-голям квартал, ако радиусът на кръга е по-голям от пиксел (което вероятно е).


Това се реализира с помощта на морфологични операции в сивата скала. Това също е същата техника, използвана за разширяване/свиване на селекции. По принцип, за да ударите центъра на селекция (или алфа канал), това, което бихте направили, е първо да направите две отделни копия на селекцията. Първата селекция ще бъде разширена с радиуса на хода, докато втората ще бъде свита. След това непрозрачността на щриха ще бъде получена чрез изваждане на втората селекция от първата.

За да направите вътрешни и външни щрихи, трябва да свиете/разширите с два пъти радиуса и да извадите частите, които се пресичат с оригиналната селекция.

Трябва да се отбележи, че най-общият морфологичен алгоритъм изисква O(m*n) операции, където m е броят на пикселите на изображението, а n е броят на елементите в структуриращия елемент. Въпреки това, за определени специални случаи, това може да бъде оптимизирано до O(m) операции (напр. ако структуриращият елемент е правоъгълник или диамант).

person VonC    schedule 31.10.2008