kod za Gabor filtar

T

Truclam

Guest
Hi all,
I Gabor implementirati filtar u mom c funkcije (stavite ga u Visual C ).kad sam ga sastavio nema greške, ali kad sam kliknuo na gumb za excution ovu funkciju bilo je neuspjeh izvješće.Ja ne mogu otkriti grešku tako da se nadam netko pomoć mene.

Evo moj broj:
/ / "Slika" je u Intel format slike (ja iskorišten Opencv)
/ / Slika je siva slika
praznina Tien_xu_ly:: Gabor (IplImage * slika)
(
# define R 300 / / broj redova
# define C 256 / / broj Colum
dvokrevetna imag [R] [C];
dvokrevetna Gabor [R] [C];
double gx [R] [C], gy [R] [C];
dvokrevetna Vx [R] [C], Vy [R] [C];
dvokrevetna thetaQ [R] [C];
int r, c, u, v, x, y, i, j;
int STDEV = 4;
dvokrevetna hram, x_theta, y_theta;
double treten;

/ * PRETVORITI SLIKA NA niz * /
for (i = 0; ja <image-> height; i )
(
for (j = 0; j <image-> width; j )
(
imag [j] = (unsigned char) (image-> imageData slike->
widthStep * i) [j];
)
)

/ * * PROCJENA LOKALNE ORIENTATION /
for (r = 0; r <R, r )
(
for (c = 0, c <C, C )
(
/ / Gx te gradijente gy (Sobel)
gx [r] [c] = (imag [R-1] [c-1] * 1) (imag [R-1] [c] * 0) (imag [R-1] [c 1] *- 1) (imag [r] [c-1] * 2) (imag [r] [c] * 0) (imag [r] [c 1] *- 2) (imag [r 1] [c-1] * 1) (imag [r 1] [c] * 0) (imag [r 1] [c 1] *- 1);

gy [r] [c] = (imag [R-1] [c-1] * 1) (imag [R-1] [c] * 2) (imag [R-1] [c 1] * 1) (imag [r] [c-1] * 0) (imag [r] [c] * 0) (imag [r] [c 1] * 0) (imag [r 1 ] [c-1] *- 1) (imag [r 1] [c] *- 2) (imag [r 1] [c 1] *- 1);Vx [r] [c] = 0;
Vy [r] [c] = 0;
za (u = r-5; U <r = 5; u ) / / 10x10 prozor
(
for (v = c-5; v <c = 5; v )
(

Vx [r] [c] = Vx [r] [c] (2 * (gx [v]) * (gy [v]));

Vy [r] [c] = Vy [r] [c] ((gx [v] * gx [v]) * (gy [v] * gy [v ]));
)
)if (Vx [r] [c] == 0)
(
thetaQ [r] [c] = 90;
)
drugi
(
thetaQ [r] [c] = (0.5 * (atan (Vy [r] [c]) / (Vx [r] [c ])));
)
)
)

/ * Sljeme FREKVENCIJE PROCJENA * /
/ / pretpostaviti prosječna udaljenost između grebena se 3, pa 1 / 3 = 0,33 = f

/ * 2D GABOR FILTRIRANJA u prostornom PROSTOR * /
for (x = 0, x <R, x )
(
for (y = 0, y <C; y )
(
x_theta = (x * cos (thetaQ [x] [y ])) ( y * sin (thetaQ [x] [y]));
y_theta =- (x * sin (thetaQ [x] [y ])) ( y * cos (thetaQ [x] [y]));

/ / STDEV = 4
hram = (-1.0/2.0 )*((( x_theta * x_theta) / (16 )) (( y_theta * y_theta) / (16)));

/ / Gabor u prostornom domenu
Gabor [x] [y] = exp (hram) * cos (2 * 3,14 * 0,33 * x_theta);
)
)

/ / prostorno smotati u rolnu slika sa filterom dobiti poboljšana slika

for (x = 0, x <R, x )
(
for (y = 0, y <C; y )
(
treten = 0;
for (i = x-5; i <x 6; i )
(
for (j = y-5; j <6 y j )
(

treten = (Gabor [j] * imag [j]);

)
)

(image-> imageData slike-> widthStep * y) [x] = treten;)
)
)

 
U tim kod ispod, JA nađi prema neki error: izvan raspona polja slike u Sobel petlji.To je petlja
for (r = 0; r <R, r )
(
for (c = 0, c <C, C )
(
/ / Gx te gradijente gy (Sobel)
gx [r] [c] = (imag [R-1] [c-1] * 1) (imag [R-1] [c] * 0) (imag [R-1] [c 1] *- 1) (imag [r] [c-1] * 2) (imag [r] [c] * 0) (imag [r] [c 1] *- 2) (imag [r 1] [c-1] * 1) (imag [r 1] [c] * 0) (imag [r 1] [c 1] *- 1);

gy [r] [c] = (imag [R-1] [c-1] * 1) (imag [R-1] [c] * 2) (imag [R-1] [c 1] * 1) (imag [r] [c-1] * 0) (imag [r] [c] * 0) (imag [r] [c 1] * 0) (imag [r 1 ] [c-1] *- 1) (imag [r 1] [c] *- 2) (imag [r 1] [c 1] *- 1);

kada je r = 0 onda slika [-1] [] nije valjan.
ili kada je c = 0 then slika [] [-1] nije valjan;

Jeste li završili svoj projekt?
Ja sam događaj projekta koji je uključen u Gabor filtar.I ja iskoristiti OpenCV to kod.
Možete li mi poslati ispunjeni kodovi?
Moj mail: jackyhung12345 (at) yahoo.com.
Čekanje na svoj mail.
hvala vrlo velik dio.

 

Welcome to EDABoard.com

Sponsor

Back
Top