Escolar Documentos
Profissional Documentos
Cultura Documentos
Trabalho prtico n. 1
Executado por Ctia Teixeira, n 25433 Tiago Silva, n 23316 Orientado por Fernando Monteiro Entregue em 5 de Maio de 2013
Trabalho prtico n. 1
1. Resumo
Este trabalho foi realizado tendo em vista os conhecimentos adquiridos nas aulas de Processamento de Imagens Mdicas que se baseiam em realar dados contidos na imagem que no tenham sido evidenciados no processo de aquisio desta. Deste modo, permitir-nos-o saber a melhor maneira de utilizar os filtros abordados obtendo assim como resultado final o melhoramento de imagens. O nosso objetivo consistir ento, na criao, aplicao e desenvolvimento de algoritmos de processamento de imagens que nos possibilitaro manipular, melhorar e atenuar o rudo das imagens, tendo como base os conhecimentos obtidos e utilizando o programa Matlab.
Trabalho prtico n. 1
2. ndice
1. 2. 3. 4. 5. RESUMO ........................................................................................................................................................... 1 NDICE............................................................................................................................................................... 2 NDICE DE IMAGENS .................................................................................................................................... 3 INTRODUO ................................................................................................................................................. 5 PRINCPIOS BSICOS ................................................................................................................................... 6 5.1. MANIPULAO DE IMAGENS: [1] ..................................................................................................................... 6 5.2. OPERAES ARITMTICAS: [1], [2].................................................................................................................. 7 5.3. HISTOGRAMA: [1], [3] ...................................................................................................................................... 8 5.3.1. Equalizao do Histograma: ................................................................................................................ 8
5.4. ESPAO DE COR RGB / HSV: [4], [5], [6] ........................................................................................................ 8 5.5. MELHORIA DA IMAGEM: [3], [7], [8] ................................................................................................................ 9 5.6. ATENUAO DE RUDO: [1], [9] ....................................................................................................................... 9 6. RESULTADOS EXPERIMENTAIS ............................................................................................................. 12 6.1. MANIPULAO DA IMAGEM: ......................................................................................................................... 12 6.1.1. 6.1.2. Acrescentar uma moldura branca, com uma largura de 10 pixels: .................................................... 12 Considerar a imagem original dividida em 4 regies alterando as suas posies: ............................ 13
6.2. OPERAES ARITMTICAS: ........................................................................................................................... 17 6.3. MELHORIA DA IMAGEM ................................................................................................................................. 19 6.3.1. 6.3.2. Na perceo dos vasos sanguneos (Fig4.tif): .................................................................................... 20 Na perceo geral da Imagem (Fig5.tif):............................................................................................ 21
6.4. ATENUAO DE RUDO .................................................................................................................................. 22 6.4.1. 6.4.2. 7. 8. 9. 10. Operaes de atenuao de rudo aplicadas na pintura (Fig6.tif): .................................................... 23 Operaes de atenuao de rudo aplicadas na forma anatmica do rim (Fig7.tif): ......................... 25
ANLISE DOS RESULTADOS .................................................................................................................... 27 CONCLUSO E TRABALHO FUTURO .................................................................................................... 30 REFERNCIAS BIBLIOGRFICAS ........................................................................................................... 31 ANEXOS .......................................................................................................................................................... 32
Trabalho prtico n. 1
3. ndice de Imagens
Figura 1 Matriz de imagem; Figura 2 Imagem original; Figura 3 Imagem original com moldura; Figura 4 Imagem A; Figura 5 Imagem B; Figura 6 Imagem C; Figura 7 Imagem D; Figura 8 Imagem alterada; Figura 9 Fig2.tif; Figura 10 Fig3.tif; Figura 11 Mdulo da Diferena; Figura 12 Equalizao local; Figura 13 Adapthisteq; Figura 14 Fig4.tif; Figura 15 Fig5.tif; Figura 16 Equalizao local; Figura 17 Expanso da equalizao local; Figura 18 Equalizao total; Figura 19 Expanso da equalizao total; Figura 20 Imagem melhorada; Figura 21 Imagem melhorada; Figura 22 Fig6.tif; Figura 23 Fig7.tif; Figura 24 Filtro max; Figura 25 Imagem melhorada;
Trabalho prtico n. 1
Trabalho prtico n. 1
4. Introduo
Quando se trata de imagens mdicas, a visualizao de determinadas zonas especficas muito importante para a realizao de um diagnstico rpido e correto, mas isso nem sempre acontece devido existncia de rudos e o grande problema que se enfrenta em imagens com rudo o nvel de saturao. Sendo assim, o tratamento dessas mesmas imagens atravs do Matlab, usando filtros e algoritmos adequados, torna as imagens mais ntidas e com mais contraste. Assim, no mbito da disciplina de Processamento de Imagens Mdicas foi-nos proposta a realizao de um trabalho prtico tendo em conta os seguintes objetivos: a. Criar algoritmos que permitam manipular a imagem. b. Aplicar algoritmos de processamento de imagem que permitam melhorar as imagens. c. Desenvolver algoritmos de processamento de imagem que permitam atenuar o rudo presente na imagem. d. Familiarizao com funes de processamento de imagem utilizando o Matlab. Para isso utilizaremos os nossos conhecimentos adquiridos nas aulas recorrendo ao programa Matlab como ferramenta principal do trabalho.
Trabalho prtico n. 1
5. Princpios bsicos
Uma imagem uma representao numrica de uma imagem bidimensional. uma matriz onde cada ponto um valor discreto, onde m e n correspondem quantidade de colunas e linhas. A imagem digital contm um nmero fixo de linhas e colunas de pixels, sendo estes o menor elemento individual numa imagem, mantendo os valores quantificados que representam o brilho de uma determinada cor.
A manipulao de objetos por parte do Homem , na maioria das vezes, efetuada com a ajuda da viso. Dos cinco sentidos que o Homem possui, a viso aquele que o Homem mais depende e de onde lhe provem maior quantidade de informao. Assim, a manipulao de imagens consiste na obteno de imagens cada vez melhores dependendo do nosso objetivo final, uma vez que atravs da anlise de imagens consegue-se fazer melhoria destas e deteo de dados de interesse para o nosso estudo.
Trabalho prtico n. 1
Os principais objetivos do processamento de imagem so o restauro e o realce (melhoramento da imagem), a anlise (extrair uma descrio da imagem) e a codificao (forma diferente de representar a imagem). Das diversas operaes existentes destacam-se por exemplo a eliminao do nevoeiro de uma imagem, a suavizao de uma imagem de modo a retirar o rudo, o melhoramento do contraste, a diviso da imagem em regies como objeto e fundo, o aumento ou diminuio de uma imagem e a codificao de uma imagem de uma forma eficiente para guardar ou transmitir.
As tcnicas de processamento de imagens podem ser aplicadas no domnio espacial e no domnio da frequncia. O domnio espacial refere-se s tcnicas baseadas na manipulao direta dos pixels, sendo estas tcnicas divididas em pontuais, locais ou globais. As tcnicas pontuais so tcnicas em que o resultado num pixel apenas depende do valor do pixel de entrada correspondente, e um exemplo destas operaes so as operaes aritmticas cuja aplicao pixel a pixel entre duas imagens. Assim, os operadores aritmticos mais usados so a soma e a subtrao. A soma permite incluir uma imagem na outra podendo-se obter resultados superiores a 255 e a subtrao reala as diferenas entre as imagens podendo-se obter resultados negativos. No Matlab para realizar a subtraco usam-se as seguintes funes: I=imsubtract (I1,I2) ou I=imabsdiff (I1,I2), esta ltima subtrai duas imagens tal como a funo imsubtract contudo a nova imagem em diferena absoluta (Mdulo da diferena). E para a soma usa-se a seguinte funo: I=Imadd(I1,I2);
Trabalho prtico n. 1
Um histograma um diagrama que representa a frequncia de ocorrncia dos brilhos de uma imagem. Permite-nos obter uma informao global sobre uma imagem. O limite esquerdo do grfico corresponde ao preto e o lado direito ao branco. O histograma normalizado d uma estimativa da probabilidade de ocorrncia e cada valor na imagem. A soma de todos os valores do histograma normalizado d 1. atravs de um histograma que se consegue analisar se a imagem mais ou menos clara, se o histograma for distribudo por todo apresenta um alto contraste. O contraste uma medida qualitativa e que est relacionada com a distribuio dos tons de cinza numa imagem. Para obter o histograma em MATLAB usa-se a funo imhist. 5.3.1. Equalizao do Histograma:
A equalizao do Histograma consiste na modificao deste at que o histograma final da imagem seja o mais constante possvel. No entanto, deve notar-se que a operao de equalizao do histograma s conduziria a histogramas efetivamente constantes se a gama de brilhos fosse contnua e fosse infinito o nmero de pontos da imagem. Por sua vez, a equalizao do histograma divide-se em equalizao total e equalizao local. Para se obterem em MATLAB usam-se as funes: histeq e adapthisteq, respetivamente.
O RGB bom para visualizar uma imagem no ecr, enquanto o HSV bom para a manipulao e segmentao de imagens. Uma vez que, o RGB separa trs componentes de cor vermelho, verde e azul e, o modelo HSV separa a cor, a saturao (relao de cor) e o brilho (intensidade), que faz com que este espao seja muito melhor que o primeiro. Em MATLAB os cdigos que permitem passar de um espao para outro so implementados da seguinte forma: I=rgb2hsv (I) ou I=hsv2rgb (I);
Trabalho prtico n. 1
Para que se possa melhorar uma imagem existem vrios operadores pontuais tais como o histeq, adapthisteq, imcomplement e o imadjust. O histeq uma equalizao do histograma que uma tcnica a partir da qual se procura redistribuir os valores de tons de cinza dos pixels numa imagem de modo a obter um histograma uniforme no qual o nmero de pixels de qualquer nveis de cinza praticamente o mesmo (equalizao total). O adapthisteq uma equalizao do histograma que uma tcnica que utiliza uma janela de tamanho predefinido pelo Matlab (8x8) para correr a imagem e, para cada posio da janela na imagem, analisa-se apenas os tons de cinza dentro da janela (equalizao local). O imcomplement uma tcnica que faz com que o preto e o branco sejam invertidos ou seja, faz o negativo da imagem. E por ltimo o imadjust uma tcnica a partir da qual o histograma original de uma imagem modificado de tal forma que parte dele expandido para ocupar toda a faixa de cinza da imagem.
O aparecimento de rudo numa imagem digital ocorre durante o processo de aquisio e/ou durante a transmisso. O rudo corresponde a toda a entidade da imagem que no relevante para o objetivo do processamento, esse rudo ir afetar todo o processamento que seja posteriormente aplicado. A reduo do rudo fundamental para obter bons resultados em processamento de imagens e para minimizar este problema podemos aplicar s imagens uma diversificada gama de filtros. A filtragem permite-nos melhorar a relao sinal/rudo de imagens, procurando preservar as suas estruturas anatmicas. Tratando-se de uma operao realizada no domnio espacial. Assim, existem vrios tipos de filtros:
Trabalho prtico n. 1
O spfilt que realiza uma filtragem espacial da imagem original. Dentro deste encontramos vrios tipos de filtros desde: o amean mdia aritmtica de filtragem. No filtro de mdia o valor de cada pixel substitudo pela mdia da sua vizinhana. o gmean mdia geomtrica de filtragem. O filtro da mdia geomtrica definido como o produto de todos os membros do conjunto elevado ao inverso do nmero de membros, esse valor colocado na imagem alterada. o hmean mdia harmnica de filtragem. O filtro mdia harmnica tem uma boa funcionalidade para rudos do tipo sal e gaussiano, no tem bom resultado no rudo pimenta. o chmean mdia contra-harmnica de filtragem. O filtro da mdia contraharmnica adequado para a reduo de rudo sal e pimenta. o median filtragem da mediana. O filtro mediana tem como princpio de funcionamento colocar os valores da vizinhana num vetor de forma ordenada, o valor central desse vetor ser colocado no pixel central. Este filtro mantm os contornos, retira grande parte do rudo sem afetar grandemente a nitidez da imagem. o max filtragem mxima. O filtro mximo atribui ao pixel central o valor mximo da sua vizinhana. o min filtragem mnima. O filtro mnimo atribui ao pixel central o valor mnimo da sua vizinhana. o midpoint filtragem ponto mdio. O filtro ponto mdio tem como princpio a substituio do ponto central da matriz pela mdia feita entre o valor mais alto e o mais baixo. o athrimmed mdia-alfa de filtragem. Este filtro uma mistura entre o filtro mediana e mdia, consegue-se bons resultados com a aplicao deste filtro. Tem um grande desempenho em imagens danificadas com rudo gaussiano.
O fspecial que cria um filtro bidimensional de um tipo especfico. Os tipos de filtros podem ser: o average mdia. o disk mdia circular. o gaussian O filtro gaussiano aplicvel em todas as direes de igual forma, a funo gaussiana processa a imagem trocando o pixel central por
10
Trabalho prtico n. 1
uma mdia ponderada na qual os pixels vizinhos tm pesos diferentes, os pixels vizinhos tm mais importncia no clculo da mdia do que os pixels mais afastados. Este filtro evita o espalhamento de uma propriedade local da imagem. o laplacian aproximao do operador bidimensional laplaciano. o log laplaciano e gaussiano. o motion retorna um filtro aproximado do movimento linear de uma imagem. o prewitt filtro que enfatiza bordas horizontais com aproximao a um gradiente vertical. o sobel filtro que enfatiza bordas horizontais utilizando o efeito de alisamento com aproximao a um gradiente vertical. o unsharp filtro de realce. O bilateral O filtro bilateral tem como funcionamento base a mdia atribuindo diferentes pesos aos vizinhos, dependendo da proximidade espacial e da diferena de intensidades do pixel central relativamente aos vizinhos. Este filtro preserva a estrutura da imagem uma vez que s ir atuar sobre os vizinhos que fazem parte da mesma regio do ncleo. O kuwahara Este filtro preserva bem os contornos da imagem, o funcionamento deste filtro tem como princpio considerar 4 regies em volta do pixel a analisar, em cada uma das 4 regies calculasse a mdia e a varincia, o valor atribudo ao pixel central o valor mdio da regio que possui menor varincia. O medfilt2 filtro mediana. uma operao no-linear, muitas vezes utilizada para reduzir o sal e pimenta que funcionam como rudo na imagem. O imfilter Este filtro faz a filtragem de imagens multidimensionais com filtros multidimensionais.
11
Trabalho prtico n. 1
6. Resultados experimentais
Sabendo que o tamanho da imagem de 512 e para que esta no perca informao aps acrescentar uma moldura, tem de se aumentar o tamanho da matriz da moldura, definindo ainda o espao da mesma ao multiplicar por 255, tendo j ficado definida a zona da moldura branca: [r,c]=size(I); I2=ones(r+20,c+20)*255;
12
Trabalho prtico n. 1
Assim, temos o seguinte cdigo, onde inserimos a imagem original na moldura definida: [r1,c1]=size(I2); I2(11:r1-10,11:c1-10)=I;
Procedendo diviso da imagem em 4 regies e de seguida alterao das suas posies, de acordo com o seguinte esquema:
13
Trabalho prtico n. 1
A C
B D
B D
C A
Temos:
14
Trabalho prtico n. 1
Imagens individuais de cada regio: figure,imshow(A); title('A'); figure,imshow(B); title('B'); figure,imshow(C); title('C'); figure,imshow(D); title('D');
Figura 4 Imagem A;
Figura 5 Imagem B;
Figura 6 Imagem C;
Figura 7 Imagem D;
15
Trabalho prtico n. 1
Criao de uma nova matriz de imagem do tamanho da original para que se possam colocar as 4 regies: I2=zeros(r,c);
E por fim, alterao das posies das 4 regies de acordo com o esquema referido em cima inseridas na nova imagem:
16
Trabalho prtico n. 1
Figura 9 Fig2.tif;
Figura 10 Fig3.tif;
Para obter os melhores resultados da angiografia, recorreu-se s seguintes operaes aritmticas pela seguinte ordem: imabsdiff Mdulo da diferena. adapthisteq Equalizao local.
17
Trabalho prtico n. 1
Figura 13 Adapthisteq;
18
Trabalho prtico n. 1
Figura 14 Fig4.tif;
Figura 15 Fig5.tif;
Para obter uma melhoria das imagens utilizou-se a seguinte sequncia de operaes: Converteu-se as imagens de cores RGB para o espao de cor HSV. O modelo HSV separa cor, saturao e intensidade. Que muito mais til para a manipulao do que o espao RGB. Retirou-se a terceira componente, a intensidade, s duas imagens da seguinte forma:
Ix=rgb2hsv(I); I=Ix(:,:,3);
19
Trabalho prtico n. 1
Utilizaram-se as seguintes funes: o adapthisteq Equalizao local. o imadjust Expanso da equalizao local.
20
Trabalho prtico n. 1
Utilizaram-se as seguintes funes: o histeq Equalizao total. o imadjust Expanso da equalizao total.
E por ltimo, voltou-se a colocar a terceira componente que foi retirada nas 2 imagens que foram processadas, da seguinte forma: Ix(:,:,3)=I6; Iz=hsv2rgb(Ix); Ix(:,:,3)=I4; Iz=hsv2rgb(Ix);
21
Trabalho prtico n. 1
Para conseguir atenuar/eliminar a existncia de rudo na tinta usada na pintura ou na forma anatmica do rim, recorreu-se aplicao de diferentes tipos de filtros, no s os abordados nas aulas como tambm os existentes no Matlab. Assim, para a aplicao de diferentes tipos de filtros teve-se que ter na mesma diretoria as funes spfilt., bilateralf.m, kuwahara.m, changeclass.m, pois estas foram chamadas diretamente no cdigo ou chamadas por outras funes, Considerando as imagens Fig6.tif e Fig7.tif fornecidas pelo professor,
22
Trabalho prtico n. 1
Figura 22 Fig6.tif;
Figura 23 Fig7.tif;
Como a imagem Fig6.tif uma pintura a cores e uma vez que a maioria dos filtros para a atenuao de rudo s podem ser aplicados em imagens com tons de cinza, teve-se a necessidade de aplicar a funo rgb2hsv. Neste caso retirou-se a componente 3, a intensidade, da seguinte forma: Ix=rgb2hsv(I); I=Ix(:,:,3);
23
Trabalho prtico n. 1
Assim, atravs da aplicao de diversos filtros, e aps uma cuidada avaliao de cada um, escolheu-se o filtro mais adequado para a situao desejada, o filtro max. No entanto, s se conseguiu ver bons resultados depois de ser colocada novamente a componente 3 e de se ter passado a imagem filtrada novamente para cores, da seguinte forma:
24
Trabalho prtico n. 1
Como esta imagem no est a cores no necessrio proceder da mesma maneira que se procedeu na imagem anterior. Assim, atravs da aplicao de diversos filtros, e aps uma cuidada anlise de cada um, escolheu-se os filtros mais adequado para a situao desejada. Assim, a sequncia dos filtros so o chmean e o medfilt2. Da seguinte forma:
Trabalho prtico n. 1
26
Trabalho prtico n. 1
Ficando a imagem praticamente sem rudo, embora se note mais essa particularidade quando se passa novamente a imagem para cores.
27
Trabalho prtico n. 1
Em relao aos outros filtros que foram experimentados nenhum deles na nossa opinio foram os mais indicados para a atenuao do rudo da imagem pretendida por diferentes razes. Em relao ao amean, ao gmean, ao average e ao disk removem bastante rudo mas deixam as imagens finais muito desfocadas. Relativamente ao hmean a imagem obtida fica bastante desfocada e perde parte dos elementos desta que escurecem muito. Quanto ao chmean a imagem obtida ainda tem algum ruido e esta no est ainda bem definida. Em relao ao median embora retire bastante rudo deixa a imagem final muito baa. Quanto ao atrimmed tambm apresenta bons resultados embora no tao bons como o max. Relativamente ao bilateral este retira pouco rudo imagem, clareia muito a cara da mulher e escurece bastante o fundo do quadro. E por ltimo quanto ao medfilt2 este remove bem o rudo embora no consiga realar bem os detalhes da imagem. A todos estes filtros foi feito um aumento do realce atravs do unsharp. Em relao ao min este muito fraco, pois no remove muito rudo e deixa a imagem um pouco mais escura. Quanto ao midpoint embora remova bastante rudo, ainda assim a imagem fica com algum. Relativamente ao kuwahara retira rudo mas deixa a imagem estilo desenho animado. E por ltimo em relao ao gaussian este no remove muito rudo, sendo dos piores filtros a aplicar a esta imagem. Quanto fig.7 do mesmo exerccio, s foi possvel obter bons resultados com a aplicao de dois filtros o chmean e o medfilt2, que reduzem o rudo sal e pimenta, sendo a melhor mscara utilizada a 7x7 nos dois filtros. Ficando a imagem praticamente sem rudo. Em relao aos outros filtros que foram experimentados nenhum deles na nossa opinio foram os mais indicados para a atenuao do rudo da imagem pretendida por diferentes razes. Relativamente ao amean e ao atrimmed as imagens obtidas eram imagens desfocadas sem relevar grandes pormenores mesmo aps a aplicao do filtro unsharp que permite o realce das imagens. Quanto ao gmean a imagem obtida apresentava pontos pretos que no pertenciam a imagem original, ou seja, este filtro ao contrrio de atenuar o rudo aumentava, da no ser o indicado para o caso mesmo aps a aplicao do filtro unsharp. De igual modo o hmean e o min tambm apresentaram nas imagens pontos pretos mas com muita mais frequncia da tambm no serem os mais indicados. Em relao ao median, ao max, ao average, e ao disk as imagens obtidas eram imagens desfocadas o que no permitiam a visualizao dos pormenores destas. Quanto ao midpoint a aplicao deste filtro no reduziu muito o rudo, a imagem final ficou muito parecida imagem original. Em relao ao filtro kuwahara a imagem obtida foi uma imagem muito desfocada e apresentava ainda mais rudo o que no o
28
Trabalho prtico n. 1
torna o mais indicado. Quanto ao bilateral a imagem obtida foi uma imagem muito desfocada e apresenta um grau de luminosidade muito grande o que no o torna favorvel mesmo aps a aplicao do filtro unsharp. E por ltimo em relao ao gaussian a imagem obtida semelhante original, no se vendo reduo de rudo, sendo o pior de todos os filtro a aplicar nesta imagem.
29
Trabalho prtico n. 1
30
Trabalho prtico n. 1
9. Referncias bibliogrficas
[1] Fernando Monteiro, Sebenta de Processamento de Imagens Mdicas; [2] Site mathworks http://www.mathworks.com/help/images/ref/imabsdiff.html (1-052013); [3] http://pt.scribd.com/doc/43911348/6/Equalizacao-de-histograma (1-05-2013); [4] http://siptoolbox.sourceforge.net/doc/sip-0.7.0-reference/rgb2hsv.html (1-05-2013); [5] http://siptoolbox.sourceforge.net/doc/sip-0.7.0-reference/hsv2rgb.html (1-05-2013); [6] Site mathworks http://www.mathworks.com/help/images/converting-color-data-
between-color-spaces.html (1-05-2013); [7] Site mathworks http://www.mathworks.com/help/images/ref/imcomplement.html (105-2013); [8] Site mathworks http://www.mathworks.com/help/images/ref/imadjust.html (1-052013); [9] Site mathworks (2-05-
http://www.mathworks.com/searchresults/?c%5B%5D=entiresite&q=fspecial 2013);
31
Trabalho prtico n. 1
10. Anexos
Exerccio 1. Manipulao da imagem 1.1
%% Acrescentar uma moldura branca com largura de 10 pixels imagem original. clear all close all %% Leitura da imagem I=imread('Fig1.tif'); figure,imshow(I); title('Imagem original'); %% tamanho da imagem [r,c]=size(I); %% Criao da moldura com mais 20 linhas e 20 colunas j com o valor de 255 (branco) I2=ones(r+20,c+20)*255; I2=uint8(I2); %% Tamanho da moldura [r1,c1]=size(I2); %% Colocao da imagem na moldura na posiao definida I2(11:r1-10,11:c1-10)=I; figure,imshow(I2); title('Imagem com moldura'); %% Guardar a imagem nova com a extenso .tif e com o mesmo nome do exerccio imwrite(I2,'Ex1_1.tif');
1.2
%% Dividir a imagem original em 4 regies iguais e alterar a posio de cada regio clear all close all %% Leitura da imagem original
32
Trabalho prtico n. 1
I=imread('Fig1.tif'); figure,imshow(I); title('Imagem Original'); %% Determinar o tamanho da imagem [r,c]=size(I); r1=r/2; c1=c/2; %% Diviso da imagem original em 4 diferentes regies de tamanho igual A=I(1:r1,1:c1); B=I(1:r1,c1+1:c); C=I(r1+1:r,1:c1); D=I(r1+1:r,c1+1:c); %% Imagens individuais de cada regio figure,imshow(A); title('A'); figure,imshow(B); title('B'); figure,imshow(C); title('C'); figure,imshow(D); title('D'); %% Criao de uma imagem nova toda a preto com o mesmo tamanho da imagem original I2=zeros(r,c); I2=uint8(I2); % figure,imshow(I2); %% nova imagem colocar as regies retiradas da imagem original e coloc-las pela ordem definida. I2(1:r1,1:c1)=B; I2(1:r1,c1+1:c)=C; I2(r1+1:r,1:c1)=D; I2(r1+1:r,c1+1:c)=A; %% Visualizao da nova imagem com diferente sequncia das regies figure,imshow(I2); title('Imagem alterada'); %% Guardar a imagem nova com a extenso .tif e com o mesmo nome do exerccio imwrite(A,'Ex1_2_A.tif'); imwrite(B,'Ex1_2_B.tif'); imwrite(C,'Ex1_2_C.tif'); imwrite(D,'Ex1_2_D.tif'); imwrite(I2,'Ex1_2.tif');
33
Trabalho prtico n. 1
34
Trabalho prtico n. 1
35
Trabalho prtico n. 1
3.2
%% Melhoria na percepo geral da imagem clear all close all I=imread('Fig5.tif'); figure,imshow(I); title('Fig5.tif'); %% Retira o brilho da imagem original Ix=rgb2hsv(I); I=Ix(:,:,3);
%% Equalizaes I3=histeq(I); %% equalizao total figure,imshow(I3); title('equalizao total'); I4=imadjust(I3); figure,imshow(I4); title('expanso da equalizao total'); % % % % % I5=adapthisteq(I); figure,imshow(I5); I6=imadjust(I5); figure,imshow(I6); %% equalizao local
%% Transforma a imagem I4 numa imagem colorida melhorada. Neste caso a imagem final vai ser a imagem original com um processo de expanso do adapthisteq. Ix(:,:,3)=I4; I7=hsv2rgb(Ix); figure,imshow(I7); title('imagem melhorada'); %% Guardar a imagem final imwrite(I3,'Ex3_2_a.tif'); imwrite(I4,'Ex3_2_b.tif'); imwrite(I7,'Ex3_2.tif');
36
Trabalho prtico n. 1
clear all close all I=imread('Fig6.tif'); figure,imshow(I); title('Imagem Original'); Ix=rgb2hsv(I); % figure,imshow(Ix); % title('hsv'); I=Ix(:,:,3); % figure,imshow(I); % title('Imagem sem a 3 componente'); %% Aplicao de diversos filtros: %% Filtro max f18=spfilt(I,'max',3,3); figure,imshow(f18); title('max'); %% Filtro amean com a aplicao de um filtro unsharp (realce) % % % % % % % % f=spfilt(I,'amean',7,7); figure,imshow(f); title('amean'); h7=fspecial('unsharp',0.2); f18=imfilter(f,h7,'replicate'); figure,imshow(f18); title('Unsharp amean');
%% Filro gmean com a aplicao de um filtro unsharp (realce) % % % % % % % % f1=spfilt(I,'gmean',7,7); figure,imshow(f1); title('gmean'); h7=fspecial('unsharp',0.2); f18=imfilter(f1,h7,'replicate'); figure,imshow(f18); title('Unsharp gmean');
%% Filtro hmean com a aplicao de um filtro unsharp (realce) % % % % % % % % f2=spfilt(I,'hmean',7,7); figure,imshow(f2); title('hmean'); h7=fspecial('unsharp',0.2); f18=imfilter(f2,h7,'replicate'); figure,imshow(f18); title('Unsharp hmean');
37
Trabalho prtico n. 1
% % % % % % % %
%% Filtro median com a aplicao de um filtro unsharp (realce) % % % % % % % % f4=spfilt(I,'median',7,7); figure,imshow(f4); title('median'); h7=fspecial('unsharp',0.2); f18=imfilter(f4,h7,'replicate'); figure,imshow(f18); title('Unsharp median');
%% Filtro min (No serve) % f18=spfilt(I,'min',3,3); % figure,imshow(f18); % title('min'); %% Filtro midpoint (No serve) % f18=spfilt(I,'midpoint',3,3); % figure,imshow(f18); % title('midpoint'); %% Filtro atrimmed com a aplicao de um filtro unsharp (realce) % % % % % % % % f8=spfilt(I,'atrimmed',7,7,4); figure,imshow(f8); title('atrimed'); h7=fspecial('unsharp',0.2); f18=imfilter(f8,h7,'replicate'); figure,imshow(f18); title('Unsharp atrimmed');
%% Filtro kuwahara % f18=kuwahara(I,7); % figure,imshow(f18); % title('kuwahara'); % %% Filtro bilateral % % % % % I3=im2double(I); I4=imadjust(I3); sigma=[7 0.2]; f18=bilateralf(I4,7,sigma);
38
Trabalho prtico n. 1
% % % % % % %
%% Filtro average % % % % % % % % % h=fspecial('average',7); f11=imfilter(I,h,'replicate'); figure,imshow(f11); title('Average'); h7=fspecial('unsharp',0.2); f18=imfilter(f11,h7,'replicate'); figure,imshow(f18); title('Unsharp average');
%% Filtro disk % % % % % % % % % h1=fspecial('disk',5); f12=imfilter(I,h1,'replicate'); figure,imshow(f12); title('Disk'); h7=fspecial('unsharp',0.2); f18=imfilter(f12,h7,'replicate'); figure,imshow(f18); title('Unsharp disk');
%% Filtro medfilt % % % % % % % % f19=medfilt2(I,[7 7]); figure,imshow(f19); title('Medfilt'); h7=fspecial('unsharp',0.2); f18=imfilter(f19,h7,'replicate'); figure,imshow(f18); title('Unsharp medfilt');
%% Colocao da imagem melhorada novamente a cores Ix(:,:,3)=f18; I7=hsv2rgb(Ix); figure,imshow(I7); title('Imagem melhorada');
39
Trabalho prtico n. 1
4.2
%% Atenuao/eliminao da existncia de quebras(rudo) na forma anatmica do rim clear all close all I=imread('Fig7.tif'); figure,imshow(I); title('Original'); %% Aplicao de diversos filtros f3=spfilt(I,'chmean',7,7,1.5); figure,imshow(f3); title('chmean'); f19=medfilt2(f3,[7 7]); figure,imshow(f19); title('Medfilt'); %% Filtro amean com a aplicao de um filtro unsharp (realce) % % % % % % % % % f=spfilt(I,'amean',7,7); % figure,imshow(f); % title('amean'); h7=fspecial('unsharp',0.2); f18=imfilter(f,h7,'replicate'); figure,imshow(f18); title('Unsharp amean');
%% Filro gmean com a aplicao de um filtro unsharp (realce) (No serve) % % % % % % % % % f1=spfilt(I,'gmean',7,7); % figure,imshow(f1); % title('gmean'); % % h7=fspecial('unsharp',0.2); f18=imfilter(f1,h7,'replicate'); figure,imshow(f18); title('Unsharp gmean');
%% Filtro hmean com a aplicao de um filtro unsharp (realce) (No serve) % f2=spfilt(I,'hmean',7,7); % figure,imshow(f2); % title('hmean');
40
Trabalho prtico n. 1
% % % % %
%% Filtro chmean com a aplicao de um filtro unsharp (realce) % f3=spfilt(f18,'chmean',7,7,1.5); % figure,imshow(f3); % title('chmean'); % % % % h7=fspecial('unsharp',0.2); f20=imfilter(f19,h7,'replicate'); figure,imshow(f20); title('Unsharp medfilt');
%% Filtro median com a aplicao de um filtro unsharp (realce) % f4=spfilt(I,'median',7,7); % figure,imshow(f4); % title('median'); % % % % h7=fspecial('unsharp',0.2); f18=imfilter(f4,h7,'replicate'); figure,imshow(f18); title('Unsharp median');
%% Filtro max % f18=spfilt(I,'max',3,3); % figure,imshow(f18); % title('max'); %% Filtro min (No serve) % f18=spfilt(I,'min',3,3); % figure,imshow(f18); % title('min'); %% Filtro midpoint (No serve) % f18=spfilt(I,'midpoint',3,3); % figure,imshow(f18); % title('midpoint'); %% Filtro atrimmed com a aplicao de um filtro unsharp (realce) % f8=spfilt(I,'atrimmed',7,7,4); % figure,imshow(f8); % title('atrimed'); % % % % h7=fspecial('unsharp',0.2); f18=imfilter(f8,h7,'replicate'); figure,imshow(f18); title('Unsharp atrimmed');
41
Trabalho prtico n. 1
%% Filtro kuwahara (No serve) % f18=kuwahara(I,7); % figure,imshow(f18); % title('kuwahara'); %% Filtro bilateral % I3=im2double(I); % I4=imadjust(I3); % % % % % % % % sigma=[5 0.2]; f18=bilateralf(I4,7,sigma); figure,imshow(f18); title('bilateral'); h7=fspecial('unsharp',0.2); f18=imfilter(f18,h7,'replicate'); figure,imshow(f18); title('Unsharp atrimmed');
%% Filtro average % % % % % % % % h=fspecial('average',7); f11=imfilter(I,h,'replicate'); figure,imshow(f11); title('Average'); h7=fspecial('unsharp',0.5); f18=imfilter(f11,h7,'replicate'); figure,imshow(f18); title('Unsharp average');
%% Filtro disk % % % % % % % % h1=fspecial('disk',5); f12=imfilter(I,h1,'replicate'); figure,imshow(f12); title('Disk'); h7=fspecial('unsharp',0.2); f18=imfilter(f12,h7,'replicate'); figure,imshow(f18); title('Unsharp disk');
42
Trabalho prtico n. 1
43