Seminar I - PAIM

11
Seminar I - PAIM

description

Seminar I - PAIM. Detalii. seminar: punctaj total 30p Lucrare finala Prezenta -> puncte bonus Lucrare dupa fiecare seminar materiale: http://ai.pub.ro -> Teaching -> Curs PAIM. MATLAB. “Matrix Laboratory” – mediu de dezvoltare a algoritmilor. - PowerPoint PPT Presentation

Transcript of Seminar I - PAIM

Page 1: Seminar I - PAIM

Seminar I - PAIM

Page 2: Seminar I - PAIM

Apr 21, 2023 2

Detalii

• seminar: punctaj total 30p– Lucrare finala– Prezenta -> puncte bonus– Lucrare dupa fiecare seminar

• materiale: http://ai.pub.ro -> Teaching -> Curs PAIM

Page 3: Seminar I - PAIM

Apr 21, 2023 3

MATLAB

• “Matrix Laboratory” – mediu de dezvoltare a algoritmilor.

• include un lb. de programare interpretat, de nivel inalt, asemanator dpdv al sintaxei cu C.

• orice variabila = o matrice cu index de inceput 1 vectorii sunt matrici linie sau coloana iar un scalar este interpretat ca o matrice de dimensiune 1 x 1

Page 4: Seminar I - PAIM

Apr 21, 2023 4

• operatori importanti in lucrul cu imagini: “ : ” , “ . ” , " ' "

e.g: - mat2 = mat1(1:20, 1:50); "mat2 are dim 20 x 50" - mat2 = mat1(1:2:18, 1:2:54); =>

linia1(coloana1, coloana3, coloana5...) linia3(coloana1, coloana3, ...) ...

- mat2(end: - 1: 1, : ) = mat(1 : end, : );

- h = 2 1 q = 2 2 2 3 2 5

p = h * q p = h .* q

p = 6 9 p = 4 2 10 19 4 15

- A' = transpusa matricei A

• in "Command Window": >> help nume_functie;

MATLAB

Page 5: Seminar I - PAIM

Apr 21, 2023 5

Lucrul cu imagini

• deschiderea imaginilor:imagine = imread('cale_imagine');

• afisarea imaginilor:

image(imagine);

colormap gray(256);

( sau imshow, imagesc )

• nu uitati: - in fereastra de comanda

>> help imread;

>> help colormap;

Page 6: Seminar I - PAIM

Apr 21, 2023 6

Lucrul cu imagini

e.g. : Afisarea "in oglinda" a unei imagini:

1. File -> New-> Blank M File

2. imag = imread('lena512.jpg');

mirror(1:end,1:end) = imag(1:end,end:-1:1);

figure, image(mirror);

colormap gray(256);

3. File -> Save

4. Debug -> Run (F5)

Page 7: Seminar I - PAIM

Apr 21, 2023 7

Lucrul cu imagini

e.g. : Construirea unei imagini binare, tabla de sah:

1. File -> New-> Blank M File

2. W = 100; H = 100; % dimensiunile img

imag = zeros(H, W); % init imagine

imag(1:2:end,1:2:end) = 255;

figure, image(imag);

colormap gray(256);

3. File -> Save

4. Debug -> Run (F5)

Page 8: Seminar I - PAIM

Apr 21, 2023 8

Lucrul cu imaginie.g. : Construirea unei imagini binare, tabla de sah:

OBS: Pe cat posibil incercati sa evitati buclele (while, for)! Matlab este un limbaj interpretat, fiecare trecere prin bucla genereaza reinterpretarea instructiunilor -> lent.

W = 300; H = 300; % dimensiunile img imag = zeros(H, W); % init imagine

tic; % pornesc cronometrul for i = 1 : 2 : H

for j = 1 : 2 : Wimag(i, j) = 255;

endenddisp(toc); % afisez timpul

tic;imag(1:2:end, 1:2:end) = 255;

disp(toc);

Page 9: Seminar I - PAIM

Apr 21, 2023 9

Probleme• Sa se construiasca o imagine binara (doua valori de intensitate) care contine in

coloanele pare prima valoare iar pe coloanele impare pe cea de a doua. (obs: sa se foloseasca ‘zeros’ sau ‘ones’ pentru prealocarea matricei)

• Sa se construiasca o imagine de dimensiune 640 x 480 pe nivele de gri (0 = negru, 255 = alb) cu o crestere liniara in intensitate de la coloana 1 la coloana 640 (coloanele vor avea acelasi nivel). Daca este necesar, sa se foloseasca si functiile ‘linspace’, ‘repmat’.

• Sa se construiasca o imagine de dimensiune N x N pe nivele de gri. Imaginea va fi impartita in patru cadrane. In ordinea acelor de ceasornic:

- cadranul 1(Nord-Est) va contine pe coloanele impare negru, pe coloanele pare alb.

- cadranul 2 (SE) va contine o crestere liniara in intensitate de la prima linie (negru) la ultima linie (alb).

- cadranul 3 (SV) va contine alb.- cadranul 4 (NV) va contine negru.

Page 10: Seminar I - PAIM

Probleme

• Folosind functia ‘image’ sa se deschida o imagine (pe tonuri de gri) stocata pe disc si sa se realizeze oglindirea sa dupa axa verticala / orizontala. (obs: daca este necesar se va folosi si functia ‘length’ pentru a calcula dimensiunile imaginii)

• Sa se "taie" imaginea de la problema precedenta astfel incat noua imagine sa contina doar jumatatea stanga a originalului

• Sa se "roteasca" imaginea cu 90 grade in sensul acelor de ceasornic / in sens invers acelor de ceasornic. Sa se roteasca imaginea cu 180 grade.

Apr 21, 2023 10

Page 11: Seminar I - PAIM

Probleme

• Sa se realizeze o deplasare la dreapta a coloanelor din imagine cu un pas impus. Coloanele care depasesc vor fi reasezate la ‘inceputul’ imaginii.

• Sa se realizeze o deplasare a liniilor din imagine cu un pas impus. Liniile care depasesc vor fi reasezate la ‘inceputul’ imaginii.

• Sa se deschida o imagine salvata pe disc si sa se evidentieze printr-o nuanta impusa toate valorile de gri situate intre doua praguri

Apr 21, 2023 11