Baixe o app para aproveitar ainda mais
Prévia do material em texto
Lucas Martins Sabadini RA: 80669 EXERCÍCIOS MATLAB Trabalho apresentado à disciplina Processamento de Imagens do Curso de Engenharia de Computação do Centro Universitário de Votuporanga – UNIFEV, ministrado pelo professor Fernando Bermejo Menechelli, como obtenção parcial de nota referente ao primeiro bimestre. Votuporanga, 28 de setembro de 2016. Conclusão sobre Filtros Os filtros computacionais, de modo geral, são largamente utilizados para o tratamento de imagens, aplicados principalmente para a descoberta de algum traço antes impercebível pelo olho humano, como por exemplo alguma anomalia em imagens médicas, possibilitando diagnóstico preciso do profissional da saúde. Dentre os filtros implementados, podemos ressaltar a importância os filtros de suavização, retirando da imagem alguma espécie de ruído, tornando-a melhor visualmente para avalição. Já os filtros de média ponderada, são atribuindo pesos, para definir sua função em cada distância do peso central. Sua finalidade também a redução de ruídos. Os filtros de borda deixam visíveis os contornos da imagem, detectando diferentes cores e dessa forma conseguem detectar o contorno de objetos. São usados para fazer seleções e propósitos artísticos. Portanto os filtros podem adquirir inúmeras aplicabilidades, contribuindo para algum propósito em específico. Histograma de imagem a=imread('C:\Users\lucas\Desktop\Trabalho MatLab\lena.bmp'); b=imresize(a,0.5,'nearest') X=rgb2gray(a); x=rgb2gray(b); imshow(a) imshow(x) d=imcrop imshow(d) imhist(d) imhist(x) imhist(x,50) Operações algébricas de processamento de imagens Soma aa=imread('C:\Users\lucas\Desktop\Trabalho MatLab\lena.bmp') bb=imread('C:\Users\lucas\Desktop\Trabalho MatLab\lena.bmp') cc=aa+bb imshow(cc) Subtração aa=imread('C:\Users\lucas\Desktop\Trabalho MatLab\lena.bmp') bb=imread('C:\Users\lucas\Desktop\Trabalho MatLab\lena.bmp') cc=aa-bb imshow(cc) Multiplicação aa=imread('C:\Users\lucas\Desktop\Trabalho MatLab\lena.bmp') bb=imread('C:\Users\lucas\Desktop\Trabalho MatLab\lena.bmp') Li=0.5 Mm=aa*Li imshow(Mm) Divisão aa=imread('C:\Users\lucas\Desktop\Trabalho MatLab\lena.bmp') bb=imread('C:\Users\lucas\Desktop\Trabalho MatLab\lena.bmp') Li=0.5 Mm=aa/Li imshow(Mm) Filtros a = imread('C:\Users\lucas\Desktop\Trabalho MatLab\lena.bmp') j=imnoise(a,'gaussian') imshow(j) fi = imread('C:\Users\lucas\Desktop\Trabalho MatLab\lena.bmp') h=[9 9 9, 0 0 0, -1 -2 -1] l2=imfilter(fi, h) imshow(l2) H = imread('C:\Users\lucas\Desktop\Trabalho MatLab\lena.bmp') h=fspecial('laplacian') j=imfilter(a,h) imshow(j) h=fspecial('sobel') j=imfilter(a,h) imshow(j) h=fspecial('log') j=imfilter(a,h) imshow(j) Filtro de média suavização (FMS) A = imread ('C:\Users\lucas\Desktop\lena.jpg'); %filtros de média suavização (FMS) F1 = (1/9)*[1 1 1, 1 1 1, 1 1 1]; F4 = (1/16)*[1 1 1 1, 1 1 1 1, 1 1 1 1, 1 1 1 1]; F8 = (1/25)*[1 1 1 1 1, 1 1 1 1 1, 1 1 1 1 1, 1 1 1 1 1, 1 1 1 1 1]; B = imfilter(A, F1); imshow(B); Filtros de média ponderada (FMP) A = imread ('C:\Users\lucas\Desktop\lena.jpg'); F = (1/40)*[1 1 1 1, 2 2 2 2, 3 3 3 3, 4 4 4 4]; F5 = (1/30)*[2 2 2 2, 2 5 5 2, 2 2 2 2]; F6 = (1/64)*[4 4 4 4, 4 4 4 4, 4 4 4 4, 4 4 4 4]; F7 = (1/32)*[2 4 2, 8 16 8, 2, 4, 2]; B = imfilter(A, F6); imshow(B); Filtros de bordas (FB) A = imread ('C:\Users\lucas\Desktop\lena.jpg'); F2 = [-1 -1 -1, 2 2 2, -1 -1 -1]; F3 = [-1 2 -1, -1 2 -1, -1 2 -1]; M = imfilter(A, [-1 -1 2, -1 2 -1, 2 -1 -1]); N = imfilter(A, [2 -1 -1, -1 2 -1, -1 -1 2]); B = imfilter(A, F3); imshow(B); Processamento Matlab %apresenta a matriz da imagem A = imread('C:\Users\lucas\Desktop\lena', 'jpg'); image(A) %redimensiona a imagem em 200% G = imresize(I, 2); imshow(G); %conversão entre tipos [A,MAP] = tiffread('C:\Users\lucas\Desktop\lena.tif'); X = dither(A); imshow(X); %img para preto e branco [A,MAP] = tiffread('C:\Users\lucas\Desktop\lena.tif'); X = im2bw(A,MAP,0.4); imshow(X); %RGB em tons de cinza A = imread('C:\Users\lucas\Desktop\lena.tif'); X = rgb2gray(A); imshow(X); %rotacionar img A = imread ('C:\Users\lucas\Desktop\lena', 'jpg'); B = imrotate (A, 45, 'nearest'); imshow(B) %altera o tamanho da img A = imread ('C:\Users\lucas\Desktop\lena', 'jpg'); B = imresize (A, 0.5, 'nearest'); imshow(B) C = round(255*rand(255); Image(C) %erosão X = strel ('disk' ,3) Im = imread(‘imagem’) Y=imerode(im, x) Imshow(y) %dilatação X = strel ('disk' ,3) Im = imread('C:\Users\lucas\Desktop\lena.jpg'); Y=imdilate(im, x) Imshow(y) %abertura X = strel ('disk' ,3) Im = imread('C:\Users\lucas\Desktop\lena.jpg'); Y=imopen(im, x) Imshow(y) %fechamento X = strel ('disk' ,3) Im = imread('C:\Users\lucas\Desktop\lena.jpg'); Y=imclose(im, x) Imshow(y)
Compartilhar