1 / 11

Seminar I - PAIM

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.

salaam
Download Presentation

Seminar I - PAIM

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Seminar I - PAIM

  2. Detalii • seminar: punctaj total 30p • Lucrare finala • Prezenta -> puncte bonus • Lucrare dupa fiecare seminar • materiale: http://ai.pub.ro -> Teaching -> Curs PAIM

  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

  4. MATLAB • 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": >> helpnume_functie;

  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;

  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)

  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)

  8. Lucrul cu imagini e.g. : Construireauneiimaginibinare, tabla de sah: OBS: Pe cat posibilincercatisaevitatibuclele (while, for)! Matlabeste un limbajinterpretat, fiecaretrecereprinbuclagenereazareinterpretareainstructiunilor -> lent. W = 300; H = 300; % dimensiunileimg imag = zeros(H, W); % init imagine tic; % pornesccronometrul for i = 1 : 2 : H for j = 1 : 2 : W imag(i, j) = 255; end end disp(toc); % afiseztimpul tic; imag(1:2:end, 1:2:end) = 255; disp(toc);

  9. Probleme • Sa se construiasca o imagine binara (douavalori de intensitate) care contine in coloanele pare prima valoareiarpecoloaneleimparepecea de a doua. (obs: sa se foloseasca ‘zeros’ sau ‘ones’ pentruprealocareamatricei) • Sa se construiasca o imagine de dimensiune 640 x 480 penivele de gri (0 = negru, 255 = alb) cu o crestereliniara in intensitate de la coloana 1 la coloana 640 (coloanelevoraveaacelasinivel). Dacaestenecesar, sa se foloseascasifunctiile ‘linspace’, ‘repmat’. • Sa se construiasca o imagine de dimensiune N x N penivele de gri. Imagineavafiimpartita in patrucadrane. In ordineaacelor de ceasornic: - cadranul 1(Nord-Est) vacontinepecoloaneleimparenegru, pecoloanele pare alb. - cadranul 2 (SE) vacontine o crestereliniara in intensitate de la prima linie (negru) la ultimalinie (alb). - cadranul 3 (SV) vacontine alb. - cadranul 4 (NV) vacontinenegru.

  10. 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.

  11. 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

More Related