Home Tutorials Matlab Matlab per l'elaborazione delle immagini digitali: generare un'immagine 'sintetica' con figure e salvarla su disco

Page Rank Check    





Matlab per l'elaborazione delle immagini digitali: generare un'immagine 'sintetica' con figure e salvarla su disco
Tutorials - Matlab
Scritto da RedBaron85   
Sabato 30 Gennaio 2010 13:37

Matlab per l'elaborazione delle immagini digitali: generare un'immagine 'sintetica' con figure e salvarla su disco

In questo articolo mostrerò come creare, in Matlab, un'immagine 'sintetica', partendo da una matrice, con figure geometriche posizionate casualmente all'interno della stessa, per poi salvare il tutto su disco.

Le figure geometriche verranno create con delle matrici (per creare il triangolo, verrà creato un quadrato e, dopo, sarà necessario utilizzare due cicli for annidati per mettere a 0 la parte 'complementare' a quella del triangolo vero e proprio).

Le coordinate dei vertici-origine delle figure (i vertici 'in alto a sinistra') verranno generate con la funzione rand, mantenendo comunque i valori all'interno dell'area di lavoro (che poi equivale alla dimensione, in pixel, dell'immagine finale, per intenderci).

Lo script mostra a video l'immagine e la salva su disco, con nome file 'output.jpg'; attenzione: se nella cartella di lavoro è presente un file 'output.jpg', questo script lo sovrascriverà senza avvisarvi (nè prima nè dopo) !!!

Questo articolo sta alla base di quello dedicato alla creazione e al salvataggio su disco di FILMATI 'sintetici' (creati interamente in Matlab, mediante matrici, senza dati in input), che pubblicherò a breve su questo stesso sito; in quel caso, comunque, non avremo a che fare con immagini ma con FRAMES, come vedremo.

Per alcuni comandi di manipolazione delle immagini in forma di matrici (size, cicli for, uint8, ...) si rimanda all'articolo, pubblicato precedentemente, sulle basi dell'elaborazione delle immagini digitali mediante Matlab.

 

 

Ecco lo script:

% Impostazioni iniziali: dimensioni (M per l'altezza, N per la larghezza) in pixel dell'area di lavoro-immagine di output e 'disegno' delle figure geometriche (un rettangolo e un triangolo)
clear;
M = 160;
N = 160;
areaLavoro = zeros(M,N,3); % Figure a 3 dimensioni (RGB)
rettangolo = ones(15,10,3);
triangolo = ones(10,10,3);
for i=1:10
for j = (i+1):10
triangolo(i,j,:)=0;
end;
end;
% Genero le coordinate iniziali dei vertici in alto a sinistra delle figure per posizionarle nell'area di lavoro
posInizialeTriangoloX = floor(rand(1) * M);
posInizialeTriangoloY = floor(rand(1) * N);
posInizialeRettangoloX = floor(rand(1) * M);
posInizialeRettangoloY = floor(rand(1) * N);
% Disegno il triangolo e il rettangolo nell'area di lavoro
for i=1:10
for j= 1:10
areaLavoro(posInizialeTriangoloX + i, posInizialeTriangoloY + j) = triangolo(i,j); % Posiziono il triangolo nell'area di lavoro
end;
end;
for i=1:15
for j= 1:10
areaLavoro(posInizialeRettangoloX + i, posInizialeRettangoloY + j) = rettangolo(i,j); % Posiziono il rettangolo nell'area di lavoro
end;
end;
% Mostro a video l'immagine e la salvo su disco, nome file: 'output.jpg'
imshow(areaLavoro);
imwrite(areaLavoro, 'output.jpg', 'jpg');

Bye !

Tags:     tutorial      matlab      script      scripting      elaborazione      immagini digitali      immagine sintetica      figure      salvare immagine
Ultimo aggiornamento Sabato 21 Gennaio 2012 21:02
 

Ti è piaciuto questo articolo ? Condividilo !



RedBaron85.com Forum community banner

Non hai trovato quello che cercavi ?
Ricerca personalizzata
Copyright © 2012 RedBaron85.com: Informatica, CG 2D e 3D, Blender, Python, Java 2D e 3D, 3D Studio e altro ancora!. Tutti i diritti riservati.
Joomla! è un software libero rilasciato sotto licenza GNU/GPL.

Milanese Francesco - Partita IVA: 04950350878

AltroArticoliblog utentiBlueprintsContestenglishProgrammazioneModelliElencoNewsTexturesTutorialsVideotutorials