Sunteți pe pagina 1din 21

 

  

Efecte artistice asupra 


imaginilor 
11.04.2019 
─ 

Acroitoritei Calin 
Facultatea de Inginerie Electrică si Știința Calculatoarelor  
Specializarea Calculatoare, An 3 
Grupa 3131B 

 

 

 
 
Descriere 2 

Obiective 2 

Tehnologii utilizate 2 

Implementare 2 
Interfața 2 
Efecte 3 
Efectul Sepia 3 
Efectul Auriu 4 
Efectul Glacial 8 
Efectul Metalic 8 
Efectul Valuri 9 
Efectul Sticlă cu model 10 
Efectul Mozaic 11 
Efectul Sticlă mată 12 
Efectul Piatră 13 

Utilizare 14 
Exemple de efecte 14 

Bibliografie 20 

 
 
 
 
 
 
 
 
 
 

 

Descriere 
In cadrul acestui proiect mi-am propus sa construiesc o aplicație care să permită 
utilizatorului aplicarea unui set de efecte artistice asupra unor imagini. Aceasta aplicație nu 
își propune sa fie una profesionala, ci doar sa prezinte câteva efecte ce se pot aplica pe 
imagini făcând diferite modificări asupra pixelilor. 

Obiective 
1. Sa permita incarcarea unei imagini stocata in calculatorul personal 
2. Utilizatorul sa poată observa efectul dorit la apăsarea unui buton 
3. Sa permită salvarea imaginii rezultate în urma aplicării efectului selectat 

Tehnologii utilizate 
Codul sursa ce sta la baza acestei aplicații a fost scris în C++ sub mediul de dezvoltare ​RAD 
Studio XE3​, pus la dispoziție de E
​ mbarcadero​. Aplicația este de tipul VCL Forms, care 
permite și proiectarea unei interfețe de utilizare prietenoase. 

Implementare 

I. Interfața 
Primul pas în realizarea acestei aplicații a fost crearea unei interfețe prin intermediul 
căreia utilizatorul sa poată sa aleagă efectul dorit și sa vadă imaginea în urma 
aplicării acestui efect. Deoarece unele efecte au o serie de parametri ce pot 
influenta cat de intens este acel efect, i-am oferit utilizatorului libertatea de a alege 
el valorile acestor parametri. 
Lupa mai multe încercări, am ajuns la interfața prezentata în figura de mai jos.  

 

 
Asa cum se observa, în partea de sus se afla butoanele cu ajutorul cărora se alege 
efectul dorit, în partea dreapta se afla un grafic ce reprezinta histograma 
corespunzătoare imaginii încărcate în program, câmpuri pentru introducerea 
parametrilor corespunzători fiecărui efect, un buton de aplicare a efectului și un 
buton de resetare. 

II. Efecte 
Fiecare efect înseamna modificarea culorii pentru fiecare pixel din imagine. O 
metoda de a îmbunătăți timpul de prelucrare a imaginii este folosirea proprietății 
ScanLine​ a clasei T
​ Bitmap​. Aceasta oferă acces indexat la fiecare linie de pixeli, 
mult mai eficient din punct de vedere al timpului de execuție, decât parcurgerea 
pixelilor în mod clasic folosind o bucla ​for​. 

1. Efectul Sepia 
Efectul Sepia da fotografiilor aspectul de învechit, fiind prezent în majoritatea 
aplicațiilor de prelucrare a imaginilor. Este apreciat deoarece induce ideea de 
trecere a timpului, de întoarcere în trecut. Formulele pe baza cărora se calculează 
componentele culorii pixelilor sunt: 
RED = 0.393*R + 0.769*G + 0.189*B 
GREEN = 0.394*R + 0.686*G + 0.168*B 
BLUE = 0.272*R + 0.534*G + 0.131*B 
 

 

Implementarea filtrului pentru efectul Sepia este prezentat în imaginea de mai jos. 
 

 
 

2. Efectul Auriu 
Acest efect acoperă imaginea cu un strat auriu. Algoritmul folosește o structură 
formată din 8 componente ce memorează limitele inferioare, respectiv superioare 

 

pentru cele 3 culori, precum și limitele globale, și 3 vectori cu dimensiunea 256. 


Structura și valorile folosite sunt următoarele: 
 

 
Se calculează apoi gradientul pentru intervalul dat de componentele ce memorează 
limita inferioara și superioara globala, codul fiind ilustrat în imaginea următoare. 
 

 

 
 
Implementarea functiei gradient este urmatoarea. 

 

 
Apoi se aplica stratul auriu imaginii, utilizând vectorii pentru cele 3 culori, în modul 
prezentat de imaginea următoare. 

 
 
 

 

3. Efectul Glacial 
Acest efect oferă imaginii un aspect rece, ca de gheata. Algoritmul pentru efectul 
glacial este asemănător cu cel pentru efectul auriu, diferind doar valorile memorate 
de structura pentru limitele inferioare și superioare ale celor 3 canale. Aceste valori 
sunt prezentate în imaginea de mai jos. 

4. Efectul Metalic 
Acest efect oferă imaginii un aspect metalizat, accentuat în unele zone mai mult 
decât în altele, în funcție de paleta de culori a imaginii. Algoritmul folosește un 
vector cu 256 de elemente căruia ii sunt atribuite valori în funcție de nivelul de 
intensitate. Implementarea algoritmului este ilustrata în continuare. 

 

5. Efectul Valuri 
Acest efect este realizat prin intermediul funcțiilor trigonometrice sinus și cosinus, 
dând imaginii un aspect vălurit, ca și cum ar fi privita prin apa. Gradul de distorsiune 
al imaginii poate fi ales de utilizator, acesta având la dispoziție 3 parametri: 
distorsiunea globala, distorsiunea pe orizontala și distorsiunea pe verticala. 
Algoritmul este următorul: 
10 
 

6. Efectul Sticlă cu model 


Fiind realizat cu ajutorul funcțiilor trigonometrice, efectul sticlă cu model 
distorsionează imaginea, dând impresia utilizatorului ca privește printr-o sticla mata, 
cu model complicat. Utilizatorul are la dispoziție 3 parametri pentru a ajusta 
modelul după bunul plac: amplitudinea, frecventa și stilul. Algoritmul este 
următorul: 
11 
 

7. Efectul Mozaic 
Mozaicul reprezinta o tehnica prin care imaginea este realizata prin intermediul 
unor mici bucăți de smalț, piatra, sticla, placi de ceramica sau alte materiale solide. 
Efectul de mozaic transforma imaginea prin împărțirea sa în suprafețe pătrate, egale 
ca dimensiune. Pe suprafața unui pătrat culoarea este uniforma, aceasta fiind 
identica cu culoarea primului pixel din coltul stânga sus al pătratului. Utilizatorul 
poate alege dimensiunea pătratelor ce compun mozaicul, precum și dacă acestea sa 
fie sau nu separate printr-o grila neagra. Algoritmul este următorul: 
12 
 

8. Efectul Sticlă mată 


Efectul de sticlă mată crează utilizatorului impresia că privește imaginea printr-o 
sticla mata. Pentru realizarea acestui efect, fiecare pixel din imagine este înlocuit cu 
un pixel dintr-o arie vecina, ales în mod aleatoriu. Mărimea ariei vecine din care se 
alege pixelul poate fi aleasa de utilizator. Algoritmul este urmatorul: 
13 
 

9. Efectul Piatră 
Efectul piatra conferă imaginii un aspect dur, creând privitorului senzația ca 
obiectele din imagine sunt sculptate în piatra. Acest lucru este realizat pentru fiecare 
pixel din imagine, la care se aduna valoarea diferenței dintre pixelul curent și cel din 
coltul dreapta jos, diferența înmulțita cu gradul de intensitate ales de utilizator. 
Algoritmul este următorul: 
14 
 

 
 
 

Utilizare  
După deschiderea aplicației, pentru a încarcă o imagine se alege opțiunea O ​ pen ​din 
tab-ul F
​ ile​, iar din fereastra de dialog se alege imaginea dorita. Se alege apoi efectul 
dorit, și în funcție de acesta, se pot modifica diferiți parametri. 

Exemple de efecte 
In continuare sunt prezentate imagini cu efecte aplicate prin intermediul acestei 
aplicații. 
 
15 
 

Original 

 
 
Sepia 

 
16 
 

Auriu 

 
Glacial 

 
17 
 

Metalic 

 
Valuri  

 
18 
 

Sticlă cu model 

 
Mozaic  

 
19 
 

Sticlă mată 

 
Piatră 

 
 
20 
 

Bibliografie 
 
1. http://old.cescg.org/CESCG97/boros/index.html 
2. https://www.mrl.nyu.edu/publications/hertzmann-thesis/hertzmann-thesis-7
2dpi.pdf 
3. http://apollo.eed.usv.ro/~remus/arhive/PID/Curs3/Curs_3_ef_art.pdf