an artistic transformation algorithm for digital photos · classic painting styles. the algorithm...

7
XGEN 2020 An artistic transformation algorithm for digital photos Laura Cosma student, Universitatea Tehnică Cluj Napoca, Centrul universitar Nord Baia Mare, România email [email protected] AbstractIn the fine arts, especially in painting, people have used, over time, various techniques to create unique visual experiences, by composing a complex interaction between the content and the style of represented images. The algorithm underlying this process is so far unknown. There is no artificial system with similar capabilities. This work presents a new algorithm for automatically creating high-quality visual artistic images that emulate several classic painting styles. The algorithm is based on point transformations, nonlinear filters, contour enhancement, and various color spaces. Keywordsdigital image processing, non-photorealistic rendering I. INTRODUCERE Arta picturii a debutat în perioada preistorică a omenirii și continuă în zilele noastre. In timpurile vechi , când nu existau aparate fotografice, pictura era folosită pentru a crea amintiri, iar lucrările erau cu atât mai prețuite cu cât reproduceau mai fidel realitatea (până la nivelul celor mai fine detalii). Tehnicile de pictură au evoluat în timp. Apariția aparatelor fotografice care capturează cu ușurință și cele mai mici detalii, a adus schimbarea tehnicilor de pictură. Picturile foto-realiste si-au pierdut valoarea, din cauza asemănării cu fotografiile ieftine. Cele mai apreciate opere de artă în prezent sunt cele care surprind doar elementele esențiale ale imaginilor. În Fig. 1 este prezentată evoluția tehnicilor de pictură. În Fig. 1.a este prezentat un portret realizat în anul 1620 de Anthon van Dyck, folosind o tehnică foto-realistă. În Fig. 1.b este prezentat un tablou din perioada impresionismului (Răsărit de Claude Monet). În Fig. 1.c și 1.d sunt prezentate 2 tablouri din perioada expresionismului (Țipătul de Edvard Munch, care este cel mai scump tablou în prezent, și un portret de Van Gogh). Se observă că în ultimele curente artistice nu se mai pune nici un preț pe reproducerea imaginilor cu fidelitate fotografică a. b. c. d. Fig. 1. Evoluția tehnicilor de pictură II. STUDIU BIBLIOGRAFIC Un algoritm complet automat, proiectat pentru a transforma o fotografie într-o imagine de pictură în ulei este prezentată în [1]. În [2] sunt prezentate principalele tehnici de transformate a fotografiilor în imagini artistice. Sunt trecute în revistă atât tehnicile semi-automate de pictură, cât și o serie de algoritmi care funcționează complet automat. O serie de algoritmi și tehnici de generare a picturilor, ilustrațiilor și animațiilor pe calculator sunt prezentate în [3]. Algoritmii prezentați sunt proiectați astfel încât să producă imagini plăcute și expresive, care au aspectul de picturi sau desene realizate manual. În [4] este prezentată o tehnică de transformare a unei secvențe video într-o animație cu aspect de pictură realizată manual. În [5] este prezentat un sistem de reprezentare non-fotorealistă a imaginilor cu ajutorul liniilor de hașură, care funcționează în timp real. Un algoritm și diverse tehnici de reprezentare a suprafețelor în creion și cerneală sunt prezentate în [6]. În [7] este prezentat un algoritm care utilizează contururi pentru a reda scene grafice 3D pe calculator într-un mod stilizat, sugerând complexitatea scenei fără a o reprezenta în mod explicit. În [8] sunt prezentate tehnici de redare non-fotorealiste care manipulează marginile și textura, pentru a realiza o reprezentare dorită a scenei. Majoritatea metodelor descompun imaginea folosind filtre de conservare a marginilor și lucrează independent la straturile de bază și detaliile rezultate pentru a obține efectele vizuale dorite. În [9] este descris un algoritm original pentru detectarea marginilor obiectelor. În [10] este prezentată o metodă de redare automată a ilustrațiilor de copaci în creion și cerneală. Un model arbore 3-d dat este ilustrat de scheletul arborelui și o reprezentare vizuală a frunzișului folosind primitive de desen abstract. În [11] este prezentat un set de algoritmi pentru redarea suprafețelor netede prin linii artistice. Este prezentat un algoritm eficient, pentru identificarea siluetelor bazate pe dualitate geometrică și un algoritm pentru

Upload: others

Post on 19-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

  • XGEN 2020

    An artistic transformation algorithm for digital

    photos

    Laura Cosma

    student, Universitatea Tehnică Cluj Napoca, Centrul universitar Nord

    Baia Mare, România

    email [email protected]

    Abstract— In the fine arts, especially in painting, people have

    used, over time, various techniques to create unique visual

    experiences, by composing a complex interaction between the

    content and the style of represented images. The algorithm

    underlying this process is so far unknown. There is no artificial

    system with similar capabilities.

    This work presents a new algorithm for automatically

    creating high-quality visual artistic images that emulate several

    classic painting styles. The algorithm is based on point

    transformations, nonlinear filters, contour enhancement, and

    various color spaces.

    Keywords—digital image processing, non-photorealistic

    rendering

    I. INTRODUCERE

    Arta picturii a debutat în perioada preistorică a omenirii și continuă în zilele noastre. In timpurile vechi , când nu existau aparate fotografice, pictura era folosită pentru a crea amintiri, iar lucrările erau cu atât mai prețuite cu cât reproduceau mai fidel realitatea (până la nivelul celor mai fine detalii). Tehnicile de pictură au evoluat în timp.

    Apariția aparatelor fotografice care capturează cu ușurință și cele mai mici detalii, a adus schimbarea tehnicilor de pictură. Picturile foto-realiste si-au pierdut valoarea, din cauza asemănării cu fotografiile ieftine. Cele mai apreciate opere de artă în prezent sunt cele care surprind doar elementele esențiale ale imaginilor. În Fig. 1 este prezentată evoluția tehnicilor de pictură. În Fig. 1.a este prezentat un portret realizat în anul 1620 de Anthon van Dyck, folosind o tehnică foto-realistă. În Fig. 1.b este prezentat un tablou din perioada impresionismului (Răsărit de Claude Monet). În Fig. 1.c și 1.d sunt prezentate 2 tablouri din perioada expresionismului (Țipătul de Edvard Munch, care este cel mai scump tablou în prezent, și un portret de Van Gogh). Se observă că în ultimele curente artistice nu se mai pune nici un preț pe reproducerea imaginilor cu fidelitate fotografică

    a. b.

    c. d.

    Fig. 1. Evoluția tehnicilor de pictură

    II. STUDIU BIBLIOGRAFIC

    Un algoritm complet automat, proiectat pentru a

    transforma o fotografie într-o imagine de pictură în ulei este

    prezentată în [1]. În [2] sunt prezentate principalele tehnici de

    transformate a fotografiilor în imagini artistice. Sunt trecute

    în revistă atât tehnicile semi-automate de pictură, cât și o serie

    de algoritmi care funcționează complet automat. O serie de

    algoritmi și tehnici de generare a picturilor, ilustrațiilor și

    animațiilor pe calculator sunt prezentate în [3]. Algoritmii

    prezentați sunt proiectați astfel încât să producă imagini

    plăcute și expresive, care au aspectul de picturi sau desene

    realizate manual. În [4] este prezentată o tehnică de

    transformare a unei secvențe video într-o animație cu aspect

    de pictură realizată manual. În [5] este prezentat un sistem de

    reprezentare non-fotorealistă a imaginilor cu ajutorul liniilor

    de hașură, care funcționează în timp real. Un algoritm și

    diverse tehnici de reprezentare a suprafețelor în creion și

    cerneală sunt prezentate în [6]. În [7] este prezentat un

    algoritm care utilizează contururi pentru a reda scene grafice

    3D pe calculator într-un mod stilizat, sugerând complexitatea

    scenei fără a o reprezenta în mod explicit. În [8] sunt

    prezentate tehnici de redare non-fotorealiste care

    manipulează marginile și textura, pentru a realiza o

    reprezentare dorită a scenei. Majoritatea metodelor

    descompun imaginea folosind filtre de conservare a

    marginilor și lucrează independent la straturile de bază și

    detaliile rezultate pentru a obține efectele vizuale dorite. În

    [9] este descris un algoritm original pentru detectarea

    marginilor obiectelor. În [10] este prezentată o metodă de

    redare automată a ilustrațiilor de copaci în creion și cerneală.

    Un model arbore 3-d dat este ilustrat de scheletul arborelui și

    o reprezentare vizuală a frunzișului folosind primitive de

    desen abstract. În [11] este prezentat un set de algoritmi

    pentru redarea suprafețelor netede prin linii artistice. Este

    prezentat un algoritm eficient, pentru identificarea siluetelor

    bazate pe dualitate geometrică și un algoritm pentru

  • segmentarea curbelor siluetei în părți netede, cu vizibilitate

    constantă. În [12] este prezentată o metodă de redare artistică

    pentru suprafețe polinomiale, care este capabilă funcționeze

    în timp real. În [13] este prezentată o metodă de creare a unor

    imagini abstracte cu aspect de artă impresionistă. În [14] sunt

    prezentați doi algoritmi de redare a imaginilor care păstrează

    consistența scenei. Acești algoritmi utilizează o hartă de

    adâncime relativă furnizată de utilizator. În [15] sunt

    prezentate metode care funcționează în timp real pentru a

    imita stilurile de desene animate, precum si variații ale unei

    tehnici de mapare a texturii pentru a realiza schițe în timp

    real. În [16] se propune o reprezentare a imaginilor prin nori

    de puncte. În [17] se propune o tehnică pentru transformarea

    automată a unei imagini într-un desen în creion. În [18] este

    prezentată o tehnica de redare a materialelor si a obiectelor

    cu geometrie complexă. În [19] este prezentată o metodă de

    reprezentare în timp real a imaginilor, utilizând tehnici de

    hașură.

    III. DESCRIEREA ALGORITMULUI

    Algoritmul de realizare a picturilor digitale este un algoritm asistat. Din cauza diversității imaginilor de intrare, acesta nu poate funcționa complet automat. Pe parcursul funcționării trebuie luate o serie de decizii ce influențează rezultatul final.

    Algoritmul conține trei etape principale de prelucrare, care sunt prezentate în Fig. 2: Preprocesare, Pictură și Postprocesare.

    A. Etapa de preprocesare

    În prima etapă de preprocesare se pot realiza o serie de corecții la nivelul fotografiei originale. Acestea sunt: ajustarea nivelului de saturație, corecția gamei de culori și ajustarea luminozității. În această etapă sunt folosite următoarele trei spații de culoare: Red Green Blue (RGB), Hew Saturation Brightness (HSB) și un spațiu original de tip luminanță – crominanță (YC1C2). Mai multe informații despre spațiile de culoare se găsesc în [20] și [21].

    Fotografie originală

    Preprocesare• Ajustare saturație• Corecție gamma• Ajustare luminozitate

    Pictură• filtru median

    Accentuare tușe• accentuare detalii

    Efecte speciale• filtru minim• filtru maxim

    Postprocesare• Ajustare contrast• binarizare

    Pictură

    Fig. 2. Etapele de prelucrare ale algoritmului de pictură digitală

    Spațiul RGB este folosit pentru afișarea imaginilor pe ecran, pentru corecțiile de gamă, pentru ajustarea saturației și a luminozității. Fiecare pixel al unui ecran color are trei componente, ce pot fi afișate cu diverse intensități. Cele trei componente sunt culori pure: roșu verde și albastru. Aproape orice nuanță din spectrul vizibil poate fi sintetizată cu ajutorul a trei stimuli luminoși ce sunt recepționați de cele trei tipuri de celule fotosensibile ce intră în alcătuirea retinei. Astfel orice imagine fotografică poate fi reprezentată prin trei componente ce conțin nivelurile de roșu verde și albastru ale fiecărui pixel. Acest aspect este prezentat în Fig. 3.

    Spațiul de culoare RGB are forma unui cub, care este prezentat în figura 4. Punctele de pe diagonala reprezentată cu linie punctată a cubului reprezintă nuanțe de gri și nu au culoare. Nuanțele sunt cu atât mai colorate cu cât sunt mai îndepărtate de diagonală.

    De regulă, intensitățile celor trei componente color ale fiecărui pixel sunt reprezentate pe 8 biți, deci au valori întregi din intervalul [0, 255]. Aplicația care implementează algoritmul propus, permite corectarea gamei de culori cu ajutorul a 3 slidere, câte unul pentru fiecare componentă a spațiului de culoare RGB.

    a. Imaginea originală b. Componenta R

    c. Componenta G d. Componenta B

    Fig. 3. Componentele RGB ale unei imagini color

    Fig. 4. Spațiul de culaore RGB

  • Cele trei slidere permit stabilirea a trei constante de ajustare (𝑘𝑟 , 𝑘𝑔 ș𝑖 𝑘𝑏) din intervalul [-100, 100], cu ajutorul cărora se ajustează intensitățile celor 3 componente (𝑟, 𝑔, 𝑏) ale fiecărui pixel. Intensitățile corectate (𝑟𝑐 , 𝑔𝑐 ș𝑖 𝑏𝑐 ) sunt calculate pe baza relației (1). Astfel se evită ca valorile corectate să iasă în afara intervalului permis de valori.

    𝑟𝑐 = min (max(𝑟 + 𝑘𝑟 , 0) , 255)

    𝑔𝑐 = min (max(𝑔 + 𝑘𝑔, 0) , 255)

    𝑏𝑐 = min (max(𝑏 + 𝑘𝑏 , 0) , 255)

    (1)

    Programul ce implementează algoritmul propus conține două modalități de ajustare a nivelului de saturație și a luminozității. Prima modalitate se bazează pe spațiul de culoare HSB. Acesta permite reprezentarea fiecărui pixel dintr-o imagine cu ajutorul a trei componente ale căror valori se găsesc în intervalul [0, 1]. Prima componentă (Hue) reprezintă culoarea, cea de-a doua (Saturation) reprezintă nivelul de saturație, sau cât de intensă e culoarea, iar cea de-a treia (Brigthtness) reprezintă luminozitatea pixelului.

    Spațiul de culoare HSB este prezentat in Fig. 5 și are forma unui cilindru [20]. Întreaga bază inferioară a cilindrului reprezintă culoarea negru. Axa cilindrului reprezintă niveluri de gri, care nu au culoare. Punctul aflat în centrul bazei superioare reprezintă nuanța cea mai luminoasă de alb. Unghiul H reprezintă culoarea pixelului. Intensitatea culorilor este cu atât mai mare cu cât nuanțele sunt mai îndepărtate față de axa cilindrului, iar luminozitatea crește cu cât nuanțele sunt mai îndepărtate față de baza cilindrului.

    Pentru corecția gamei de culori, se realizează conversia din spațiul de culoare RGB în HSB, după metoda prezentată în [20]. În continuare se aleg cu ajutorul a două slidere două constante de corecție (𝑘𝑠 ș𝑖 𝑘𝑏) din intervalul [-1, 1]. Valorile corectate ale celor două componente (𝑠𝑐 ș𝑖 𝑏𝑐) se calculează pentru fiecare pixel pe baza relației (2). Astfel se evită depășirea limitelor intervalului de valori admise [0, 1] pentru cele 2 componente ajustate. In final imaginea este convertită înapoi in spațiul de culoare RGB pentru afișare pe ecran.

    A doua modalitate de ajustare a nivelului de saturație este

    o modalitate originală bazată pe un spațiu de tip luminanță –

    crominanță.

    𝑠𝑐 = min (max(𝑠 + 𝑘𝑠, 0) , 1)

    𝑏𝑐 = min (max(𝑏 + 𝑘𝑏 , 0) , 1) (2)

    .

    Fig. 5. Spațiul de culaore HSB

    Spațiile color de tip luminanță – crominanță sunt

    modelate după acuitatea sistemului vizual uman, care are o

    sensibilitate mult mai mare la lumină decât la culoare. Un

    astfel de spațiu are următoarele 3 componente: O componentă

    de luminozitate (luminanță) Y și 2 componente care au

    denumiri diferite în spațiile de culoare cunoscute și acestea

    reprezintă informația de culoare. În implementarea propusă

    am utilizat un spațiu de culoare original, pe care l-am numit

    YC1C2. Transformarea din RGB in YC1C2 se face pe baza

    relației (3).

    [𝑌𝐶1𝐶2

    ] = [0.299 0.587 0.114

    0.5 −0.2 −0.30.3 0.4 −0.7

    ] [𝑅𝐺𝐵

    ]= 𝐴 [𝑅𝐺𝐵

    ] (3)

    Coeficienții de pe prima linie a matricei de transformare A au fost determinați pe cale experimentală [20], [21], și au proprietatea că suma lor este 1. Sumele coeficienților de pe liniile 2 și 3 sunt 0. Transformarea inversă din RGB în YC1C2 este dată de relația 4:

    [𝑅𝐺𝐵

    ] = 𝐴−1 [𝑌𝐶1𝐶2

    ] (4)

    Datorită proprietăților matricei A, toate elementele de pe prima coloană a matricei inverse au valoarea 1. În consecință pentru pixelii gri care nu au culoare, C1 = C2 = 0, iar R = G = = B = Y.

    Este cunoscută din literatură [20], [21] o tehnică de desaturare a imaginilor color, ce se bazează pe relația 5:

    [

    𝑅𝑑𝐺𝑑𝐵𝑑

    ] = [𝑌𝑌𝑌

    ] + 𝑠 [𝑅 − 𝑌𝐺 − 𝑌𝐵 − 𝑌

    ] (5)

    unde 𝑠 ∈ [0,1] este o constantă care reprezintă nivelul de desaturare. Astfel pentru s = 0 imaginea devine alb – negru, iar pentru s = 1 imaginea rămâne nemodificată.

    În cadrul aplicației propuse am folosit o tehnică originală care permite atât micșorarea cât și creșterea nivelului de saturație. Tehnica propusă se bazează pe relația 6:

    [

    𝑅𝑚𝐺𝑚𝐵𝑚

    ] = [𝑅𝐺𝐵

    ] + 𝑘 [𝑅 − 𝑌𝐺 − 𝑌𝐵 − 𝑌

    ] (6)

    unde k este o constantă din intervalul [-1, 1]. Pentru k = -1 imaginea este desaturată total, iar pentru k = 1, intensitatea culorilor este mărită. Pentru evitarea apariției distorsiunilor, valoarea maximă a componentelor ajustate (𝑅𝑚, 𝐺𝑚 si 𝐵𝑚 ) este limitată la 255.

    Pentru implementarea celei de-a doua tehnici de ajustare a saturației, se convertește imaginea din spațiul de culoare RGB în YC1C2, după care se alege constanta de saturare cu ajutorul unui slider. În continuare se ajustează cele trei componente RGB ale fiecărui pixel pe baza relației (6).

    Cele două tehnici de ajustare a saturației au fost incluse în aplicație deoarece dau rezultate diferite. Astfel se poate alege tehnica potrivită pentru fiecare imagine in parte.

  • B. Etapa de pictură

    Această etapă conține următoarele trei operații: Pictură, Accentuare tușe și Efecte speciale.

    Principalul scop al operației de pictură este eliminarea detaliilor nesemnificative din fotografia originală. Pentru realizarea acestei prelucrări se folosește un filtru median ce este descris în [20], [21]. Principiul de funcționare al acestui filtru este prezentat în Fig. 6.

    Acest filtru se aplică doar componentei Y din spațiul de culoare YC1C2, care este componenta de luminozitate a imaginii color. Pentru ajustarea luminozității fiecărui pixel se iau în considerare vecinii acestuia aflați într-un pătrat a cărui latură este egală cu dimensiunea pensulei. Pixelul ajustat se află în centrul pătratului. Pentru satisfacerea acestei condiții, latura pătratului trebuie să fie un număr impar. Luminozitățile tuturor pixelilor din interiorul pătratului se așază într-un vector care este sortat crescător. Valoarea filtrată a pixelului considerat este preluată de la mijlocul vectorului sortat.

    S-a observat că aplicarea iterativă a filtrului median are două efecte: eliminarea tot mai accentuată a detaliilor nesemnificative și apariția unor tușe foarte asemănătoare cu cele aplicate de pictori.

    Efectele speciale se realizează cu ajutorul a două două variante ale filtrului median. Acestea sunt filtrul minim și filtrul maxim [20], [21]. Filtrul minim diferă față de filtrul median prin faptul că înlocuiește valoarea pixelului filtrat cu cea mai mică valoare din vectorul sortat. Acest filtru are un efect de întunecare a imaginii. Filtrul maxim care înlocuiește valoarea pixelului filtrat cu valoarea maximă a vectorului, având un efect de solarizare.

    Pentru aplicarea acestor filtre (median, minim și maxim) pe marginile fotografiei, tabloul ce conține pixelii este extins (virtual) în exterior atât cât este nevoie, funcție de dimensiunea pensulei.

    Operația de accentuare a tușelor are rolul de a scoate în evidență tușele create prin aplicarea iterativă a filtrului median. Această operație este necesară, deoarece filtrul median creează tușe foarte fine care nu sunt vizibile cu ochiul liber.

    Accentuarea tușelor se realizează cu ajutorul unui filtru Laplace de accentuare a detaliilor, pe baza relației (7), unde 𝐼𝑚 este imaginea modificată, 𝐼 este imaginea originală, 𝐼𝑙 reprezintă detaliile imaginii originale obținute prin aplicarea unui filtru Laplace, iar 𝑘𝑎 este o constantă ce reprezintă nivelul de accentuare si se poate stabili cu ajutorul unui slider.

    Fig. 6. Funcționarea filtrelor median, minim și maxim.

    𝐼𝑚 = 𝐼 − 𝑘𝑎𝐼𝑙 (7)

    Filtrul Laplace folosit în operația de accentuare a detaliilor are următorii coeficienți:

    [1 1 11 −8 11 1 1

    ]

    C. Etapa de postprocesare

    În această etapă se pot realiza următoarele două operații: ajustarea contrastului și binarizare. Prin ajustarea contrastului se poate îmbunătăți aspectul final al picturii, iar prin binarizare se pot realiza lucrări de grafică. Pragul de binarizare se poate ajusta cu ajutorul unui slider.

    IV. REZULTATE

    În Fig. 7 - 22 sunt prezentate o serie de fotografii originale și picturile realizate cu ajutorul aplicației propuse.

    Fig. 7. Imagine originală 1.

    Fig. 8. Creșterea saturației și corecția gamei de culori.

  • Fig. 9. Rezultatul obținut după 3 iterații de aplicare a filtrului median, cu o pensulă de dimensiune 7.

    Fig. 10. Rezultatul obținut după accentuarea tușelor.

    Fig. 11. Rezultatul aplicării efectelor speciale.

    Fig. 12. Imagine originală 2.

    Fig. 13. Pictură obținută din imaginea originală 2.

    Fig. 14. Imagine originală 3.

    Fig. 15. Pictură obținută din imaginea originală 3.

    Fig. 16. Imagine originală 4.

  • Fig. 17. Pictură 1 obtinută din imaginea originală 4.

    Fig. 18. Pictură 2 obținută din imaginea originală 4.

    Fig. 19. Grafică obținută din imaginea originală 4.

    Fig. 20. Imagine originală 5.

    Fig. 21. Pictură 1 obținută din imaginea originală 5.

    Fig. 22. Pictură 2 obținută din imaginea originală 5.

    REFERENCES

    [1] Fay Huang, Bo-Hui Wu, and Bo-Ru Huang, Synthesis of Oil-Style

    Paintings, PSIVT 2015: Revised Selected Papers of the 7th Pacific-Rim Symposium on Image and Video Technology - Volume 9431, November 2015 Pages 15–26

    [2] Jan Eric Kyprianidis, John Collomosse, Tinghuai Wang, and Tobias Isenberg, State of the ‘Art’: A Taxonomy of Artistic Stylization Techniques for Images and Video, IEEE Transactions on Visualization and Computer Graphics, vol. 19, no. 5, may 2013

    [3] Aaron Hertzmann, Algorithms for Rendering in Artistic Styles, phd thesis, New York University May 2001

    [4] Peter Litwinowicz, Processing Images and Video for An Impressionist Effect, SIGGRAPH '97: Proceedings of the 24th annual conference on Computer graphics and interactive techniques, August 1997, pp. 407–414, https://doi.org/10.1145/258734.258893

    [5] Emil Praun, Hugues Hoppe, Matthew Webb, Real-Time Hatching, Proceedings of ACM SIGGRAPH 2001, August 2001

    [6] Georges Winkenbach David H. Salesin, Rendering Parametric Surfaces in Pen and Ink, SIGGRAPH '96: Proceedings of the 23rd annual conference on Computer graphics and interactive techniquesAugust 1996 Pages 469–476 https://doi.org/10.1145/237170.237287.

    [7] Michael A. Kowalski, Lee Markosian, J.D. Northrup, Lubomir Bourdev, Ronen Barzel, Loring S. Holden John F. Hughes, Art-Based Rendering of Fur, Grass, and Trees, SIGGRAPH '99: Proceedings of the 26th annual conference on Computer graphics and interactive techniques, July 1999, pp 433 – 438, https://doi.org/10.1145/311535.311607

    [8] Patil A. G., Raman S. Automatic Content-Aware Non-photorealistic Rendering of Images, Advances in Visual Computing. ISVC 2016. Lecture Notes in Computer Science, vol 1007, Springer, Cham, pp 101-112

    https://doi.org/10.1145/258734.258893https://doi.org/10.1145/237170.237287https://doi.org/10.1145/311535.311607

  • [9] John Canny, A Computational Approach to Edge Detection, IEEE Transactions on Pattern Analisys and Machine Intelligence, Vol. PAMI-8, no. 6, November 1986

    [10] Oliver Deussen and Thomas Strothotte, Computer-Generated Pen-and-Ink Illustration of Trees, SIGGRAPH '00: Proceedings of the 27th annual conference on Computer graphics and interactive techniquesJuly 2000 Pages 13–18https://doi.org/10.1145/344779.344792

    [11] Aaron Hertzmann and Denis Zorin, Illustrating smooth surfaces, SIGGRAPH '00: Proceedings of the 27th annual conference on Computer graphics and interactive techniquesJuly 2000 Pages 517–526 https://doi.org/10.1145/344779.345074

    [12] Gershon Elber, Interactive Line Art Rendering of Freeform Surfaces, EUROGRAPHICS ’99 / P. Brunet and R. Scopigno (Guest Editors) Volume 18 (1999), Number 3

    [13] Paul Haeberli, Paint by Numbers:Abstract Image Representation, ACM SIGGRAPH Computer GraphicsSeptember 1990 https://doi.org/10.1145/97880.97902

    [14] Alex Mansfield, Peter Gehler, Luc Van Gool, and Carsten Rother, Scene Carving:Scene Consistent Image Retargeting, rom book Computer Vision - ECCV 2010 (pp.143-156)

    [15] Adam Lake, Carl Marshall, Mark Harris and Marc Blackstein, Stylized Rendering Techniques For Scalable Real-Time 3D

    Animation, Proceedings of 22nd National Conference, ACM, Thompson Book Company, Washington D.C., Academic Press, London, pp. 387-393. 1967.

    [16] Adam Runions, FaramarzSamavati, PrzemyslawPrusinkiewicz, A representation for point clouds, The Visual Computer 23(9-11), pp. 945-954.

    [17] Michitaka Hata·Masahiro Toyoura·Xiaoyang Mao, Automatic generation of accentuated pencil drawing with saliency map and LIC, The Visual Computer: International Journal of Computer GraphicsJune 2012 https://doi.org/10.1007/s00371-012-0689-9

    [18] Paiva, A., Vital Brazil, E., Petronetto, F. et al. Fluid-based hatching for tone mapping in line illustrations. Vis Comput 25, 519–527 (2009). https://doi.org/10.1007/s00371-009-0322-8

    [19] Jordane Suarez1 , Farès Belhadj1 and Vincent Boyer, Real-time 3D rendering with hatching, 1319–1334 (2017). https://doi.org/10.1007/s00371-016-1222-3

    [20] Wilhelm Burger, Mark J. Burge, Principles of Digital Image Processing Fundamental Techniques, Springer, 2009

    [21] Rafael C. Gonzalez, Richard E. Woods, Digital Image Processing, Prentice-Hall, 2002

    https://doi.org/10.1007/s00371-012-0689-9https://doi.org/10.1007/s00371-009-0322-8