Documente Academic
Documente Profesional
Documente Cultură
RAPORT
La Lucrarea de Laborator №1
La Disciplina: Imagistică medicală și prelucrarea imaginilor
Tema: Prelucrarea digitală a imaginilor: tehnici de afişare a imaginii
Chișinău 2019
2
1. Scopul lucrării
Introducerea unor concepte de bază pentru citirea şi salvarea imaginilor.
2. 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).
Modificarea contrastului
I = imread('saturn.tif');
h = [1 2 1; 0 0 0; -1 -2 -1];
I2 = filter2(h,I);
imshow(I2,[]), colorbar
montage(mri,map);
mov = immovie(mri,map);
colormap(map), movie(mov);
4. Se afişează o imagine la alegerea D-stră utilizînd imshow (prealabil salvati această imagine in:
C:\MATLAB\toolbox\images\imdemos):
I=imread('D:\matlab\toolbox\images\imdemos\image123.jpg');
min(I(:)) %Find the minimum pixel value of the image.
max(I(:)) %Find the maximum pixel value of the image.
imshow(I,[]);
[X1,map1]=imread('D:\matlab\toolbox\images\imdemos\saturn.tif');
[X2,map2]=imread('D:\matlab\toolbox\images\imdemos\rice.tif');
imshow(X1,map1),figure,imshow(X2,map2);
subplot(1,2,1), imshow(X1,map2)
subplot(1,2,2), imshow(X2,map2)
6. Se modifică contrastului unei imagini uniforme
Pentru modificarea contrastului folosiţi funcţia imadjust.
Această funcţie afişeayă valorile din intensitatea imaginii I la valori noi în I2 astfel încât valorile dintre
limitele low_in și high_in să fie valori între limitele low_out și high_out. Puteți utiliza o matrice goală ([])
pentru [low_in high_in] sau pentru [low_out high_out] pentru a specifica implicit valoarea [0 1]..
I = imread('rice.tif');
I2 = imadjust(I,[0.3 0.9],[0 1]);
imshow(I)
figure, imhist(I)
figure, imshow(I2)
figure, imhist(I2)
RGB1 = imread('flowers.tif');
RGB2 = imadjust(RGB1,[.2 .3 0; .6 .7
1],[]);
imshow(RGB1), figure, imshow(RGB2)
I=imread('flowers.tif');
R=imhist(RGB1(:,:,1));
G=imhist(RGB1(:,:,2));
B=imhist(RGB1(:,:,3));
figure, plot(R,'r')
hold on, plot(G,'g')
plot(B,'b'), legend(' Red channel','Green
channel','Blue channel');
R=imhist(RGB2(:,:,1));
G=imhist(RGB2(:,:,2));
B=imhist(RGB2(:,:,3));
figure, plot(R,'r')
hold on, plot(G,'g')
plot(B,'b'), legend(' Red channel','Green channel','Blue channel');
7. Se modifică contrastului unei imagini alb-negru
Pentru modificarea contrastului folosiţi funcţia histeq
Afişaţi imaginea şi gistograma ei:
I = imread('pout.tif');
figure
subplot(1,2,1)
imshow(I)
subplot(1,2,2)
imhist(I,64)
J = histeq(I);
figure
subplot(1,2,1)
imshow(J)
subplot(1,2,2)
imhist(J,64)
RGB1 = imread('flowers.tif');
RGB2 = histeq(RGB1);
imshow(RGB1), figure, imshow(RGB2)
R=imhist(RGB1(:,:,1));
G=imhist(RGB1(:,:,2));
B=imhist(RGB1(:,:,3));
figure, plot(R,'r')
hold on, plot(G,'g')
plot(B,'b'), legend(' Red channel','Green channel','Blue channel');
R=imhist(RGB2(:,:,1));
G=imhist(RGB2(:,:,2));
B=imhist(RGB2(:,:,3));
figure, plot(R,'r')
hold on, plot(G,'g')
plot(B,'b'), legend(' Red channel','Green channel','Blue channel');