Sunteți pe pagina 1din 5

MINISTERUL EDUCAŢIEI al REPUBLICII MOLDOVA

UNIVERSITATEA TEHNICĂ A MOLDOVEI

Departementul Microelectronică şi Dispozitive cu Semiconductori

Îndrumar de Laborator
la disciplina

Imagistica
medicală
şi
prelucrarea
imaginilor
A elaborat st.gr.IBM-201M Gangan Eduard
A verificat : dr.conf., Serghei Railean

Chişinău 2020
Lucrarea de laborator N 1
Prelucrarea digitală a imaginilor: tehnici de afişare a imaginii

Scopul lucrării: introducerea unor concepte de bază pentru citirea şi salvarea imaginilor.

Noţiuni teoretice.
Citirea şi scrierea unei imagini
Este indicat să se şteargă spaţiul de lucru MATLAB şi să se închidă toate ferestrele deschise
pentru figuri:
clear, close all
Pentru a citi o imagine se foloseşte comanda imread. Exemplul care urmează citeşte una
din imaginile conţinute în Biblioteca de Imagini pe care utilizatorul a dezvoltat-o (sau una din
imaginile incluse în IPT). Se citeşte imaginea pout.tif şi se memorează temporar într-un tablou
numit I:
I = imread(’pout.tif’);
imread stabileşte că formatul grafic este Tagged Image File Format (TIFF). Pentru lista
care include toate formatele grafice acceptate consultaţi documentaţia de referinţă imread.
În continuare, imaginea citită trebuie să fie afişată. Image Processing Toolbox include două
M-funcţii pentru afişarea unei imagini: imshow şi imtool. imshow este funcţia de bază;
imtool declanşează Image Tool (mediu grafic integrat pentru afişarea imaginilor şi efectuarea
unor operaţii simple de procesare). IT oferă toate posibilităţile de afişare ale imshow dar, în plus,
oferă acces la mai multe unelte care pot fi folosite pentru navigarea în interiorul imaginilor sau
explorarea imaginilor: scroll bars, Pixel Region,
Image Information, Contrast Adjustment.
Pentru afişarea unei imagini se poate folosi oricare din cele
două funcţii amintite mai sus. În acest exemplu vom folosi imshow.
imshow(I).

Memorarea imaginii în spaţiul de lucru MATLAB


Pentru a vedea modul în care funcţia imshow memorează datele
imagine în spaţiul de lucru, se deschide fereastra Workspace în MATLAB. Sunt afişate aici
informaţii despre toate variabilele care au fost create într-o sesiune de lucru MATLAB. Funcţia
imread a returnat datele imagine pentru variabila I, care este un tablou cu 291 x 240 elemente de
tipul uint8. MATLAB poate memora imaginile sub forma unor tablouri
uint8, uint16 sau double.
De asemenea, se pot obţine informaţii despre variabilele din spaţiul de lucru prin comanda
whos.
whos
Name Size Bytes Class
I 291x240 69840 uint8 array
Grand total is 69840 elements using 69840 bytes

Modificarea contrastului
După cum se poate observa, pout.tif este o imagine cu
un contrast redus. Pentru a vedea distribuţia
intensităţii pixelilor în pout.tif se afişează histograma
imaginii prin apelarea funcţiei imhist. Observaţie. Apelarea funcţiei imhist trebuie să fie
precedată de o comandă care să evite afişarea histogramei peste imaginea afişată anterior.
imhist(I)
Gama în care variază intensitatea pixelilor este
destul de îngustă (majoritatea pixelilor au intensităţi între 76
şi 160). Nu este acoperită toată gama accesibilă [0, 255]
şi lipsesc valorile maximă şi minimă care ar conduce la un
contrast bun.
Sunt mai multe posibilităţi de a îmbunătăţi
contrastul unei imagini folosind IPT. O modalitate este
aceea de a egaliza histograma, adică a repartiza valorile
intensităţii peste toată gama posibilă; se realizează prin apelarea funcţiei histeq:
I2=histeq(I);
Apoi, se afişează noua imagine, I2, într-o nouă fereastră:
figure, imshow(I)
Se poate apela din nou imhist pentru a afişa histograma
imaginii I2. Se observă „împrăştierea” valorilor intensităţii peste
toată gama accesibilă de valori.

Scrierea unei imagini într-un fişier


Pentru a salva noua imagine modificată I2 sub forma unui fisier pe disc se foloseşte funcţia
imwrite. Dacă în comandă se include extensia .png, funcţia imwrite va forma un fişier în format
Portable Network Graphics (PNG); se pot specifica şi alte formate.
imwrite (I2, ’pout2.png’);

Obţinerea informaţiilor despre un fişier grafic


Pentru a vedea ceea ce s-a obţinut prin scrierea unui fişier pe disc se foloseşte funcţia
iminfo. Această funcţie returnează informaţia despre imaginea respectivă: formatul ei, mărimea,
dimensiunile etc.
imfinfo(‘pout2.png’)

Ordinea îndeplinirii lucrării de laborator

Pasul 1. Generaţi şi afişati o imagine binară:

BW1 = zeros(20,20);
BW1(2:2:18,2:2:18)=1;
imshow(BW1, 'notruesize');
Pasul 2. Cercetarea tehnicilor speciale de afişaj.
- Adaugaţi la imagine un Colorbar:

I = imread('saturn.tif');
h = [1 2 1; 0 0 0; -1 -2 -1];
I2 = filter2(h,I);
imshow(I2,[]), colorbar
Pasul 3. Cercetarea Afişării Imaginii Multiframe.
- Afişaţi un cadru individual al imaginii Multiframe:
% Initialize an array to hold the 27 frames of mri.tif
mri = uint8(zeros(128,128,1,27));
for frame=1:27
% Read each frame into the appropriate frame in memory
[mri(:,:,:,frame),map] = imread('mri.tif',frame);
end
imshow(mri(:,:,:,13),map);

S-ar putea să vă placă și