Aplicar 1-DFiltros Gabor en fotos
Publicado por Andres (6 intervenciones) el 22/11/2012 11:17:50
Hola a todos;
Estoy realizando un projecto y me e quedado atascadisimo. Haber si alguien me puede hehcar una mano.
Tengo que aplicar filtros de gabor a una imagen en distintas horientaziones, 0°, 45°, 90° y 135°. De manera que el resultado es la imagen con en las que solo quedan las lineas a 0°, 45°, 90° y 135° dependiendo del filtro anterior que le hayas aplicado.
Para obtener las direcciones vertical y horizontal tengo que aplicar un filtro Gausiano y 2 filtros gabor (1D filter even y otro 1D filter odd), y para las diagonales solo 2 filtros gabor((1D filter even y otro 1D filter odd). Los filtros los tengo del articulo que estoy siguiendo. y estan definidos en el codigo matlab.
Al final solo me interesa la parte imaginaria (odd)
La question es que estoy aplicando filtros 1-D a una imagen 2-D, he conseguido que obtener la imagen horizontal y vertical pero no las diagonales. (igual estoy haciendo una burrada, nose...)
esta es la imagen que utilizo
Gracias por vuestra ayuda
Estoy realizando un projecto y me e quedado atascadisimo. Haber si alguien me puede hehcar una mano.
Tengo que aplicar filtros de gabor a una imagen en distintas horientaziones, 0°, 45°, 90° y 135°. De manera que el resultado es la imagen con en las que solo quedan las lineas a 0°, 45°, 90° y 135° dependiendo del filtro anterior que le hayas aplicado.
Para obtener las direcciones vertical y horizontal tengo que aplicar un filtro Gausiano y 2 filtros gabor (1D filter even y otro 1D filter odd), y para las diagonales solo 2 filtros gabor((1D filter even y otro 1D filter odd). Los filtros los tengo del articulo que estoy siguiendo. y estan definidos en el codigo matlab.
Al final solo me interesa la parte imaginaria (odd)
La question es que estoy aplicando filtros 1-D a una imagen 2-D, he conseguido que obtener la imagen horizontal y vertical pero no las diagonales. (igual estoy haciendo una burrada, nose...)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
close all;clear all;clc
%H-V even (real)
HVeven=[0,17,0,-62,0,90,0,-62,0,17,0];
%H-V odd (imag)
HVodd=[-8,0,37,0,-82,0,82,0,-37,0,8];
%Diagonal even (real)
Deven=[3,-5,-27,-27,25,62,25,-27,-27,-5,3];
%Diagonal odd (imag)
Dodd=[4,13,5,-34,-52,0,52,34,-5,-13,-4];
%Gaussian
Gaussian=[4,9,19,31,41,45,41,31,19,9,4];
I=imread('Einstein1.jpg');
I1=rgb2gray(I);
%horizontal-vertical
%here we have to apply the Gaussian filter and the HVodd filter (because we
%are ojnly interesiert in the imag part). We have to get the image
%filtrated at 0° and 90°
I2=conv2(Gaussian,I1);
I3=conv2(Gaussian',I1);
gau_0=conv2(HVodd,I3);
gau_90=conv2(HVodd',I2);
%Diagonal
%we want to have the diagonals 45° and 135°, for that we have to apply the
%Dodd because we just want the imaginary part.
gau_45=conv2(Deven,I1);
gau_135=conv2(Deven',I1);
figure(1)
subplot(2,2,1),imshow(gau_0,[]), title ('Image filter with 0°');
subplot(2,2,2),imshow(gau_90,[]), title ('Image filter with 90°');
subplot(2,2,3),imshow(gau_45,[]), title ('Image filter with 45°');
subplot(2,2,4),imshow(gau_135,[]), title ('Image filter with 135°');
esta es la imagen que utilizo
Gracias por vuestra ayuda
Valora esta pregunta
0