ενίσχυση των δακτυλικών αποτυπωμάτων από Gabor φιλτράρισμα με προσανατολισμό

R

R @ vinder

Guest
hi every one,

iam εφαρμογής χαρτί "ενίσχυση των δακτυλικών αποτυπωμάτων και μικρολεπτομέρειες εξαγωγή" από raymond Ταϊλάνδης.i γίνει η κωδικοποίηση, αλλά δεν IAM πάρει τα σωστά αποτελέσματα.i αυτό επαληθεύεται, αλλά IAM μπόρεσε να βρει το λάθος.Στην πραγματικότητα, είναι ο προσανατολισμός πρέπει να είναι σε ακτίνια ή βαθμούς;
Ποιο είναι το εύρος είναι -90 με 90 ή 0 έως 180;

Στην πραγματικότητα, θα πρέπει να ολοκληρώσει το έργο μου από την 15η Ιουνίου.Δεν έχω αρκετό χρόνο.αν μία έχει κάνει παρόμοια δουλειά, μπορεί u παρακαλώ να μου στείλετε τον κωδικό, ακόμη και είναι σε οποιαδήποτε γλώσσα του (γ, VC , matalb κλπ), εγώ θα αναφερθώ.

Εδώ iam αποστολή του κώδικα, θα μπορούσε κάποιος που κάνει παρόμοιο σχέδιο, παρακαλούμε να ελέγξετε it.I συνημμένη εικόνας εξόδου μου.

id μου: ravinderreddy_o (at) yahoo.co.in
παρακαλώ βοηθήστε με.περιμένει ur απάντηση.

/ / gradiant υπολογισμός
# define W2 16
# define PI (22.0/7.0)
float Dx [512] [512], Dy [512] [512], Vx [512] [512], Vy [512] [512]?
float theta [512] [512], grdori [512] [512]?
int Sx [3] [3] = ((-1, 0, 1),
(-2, 0, 2),
(-1, 0, 1)
)?
int Σάι [3] [3] = ((-1, -2, -1),
(0, 0, 0),
(1, 2, 1)
)?
for (i = 0? i <512? i )
(
για j = (0? j <512? j )
(

if ((i <1) | | (i> = 511) | | (j <1) | | (ι> = 511))
(
Dx [j] = img [j]?
Dy [j] = img [j]?
)
άλλος
(
sumx = 0.0?
sumy = 0.0?
για (u =- 1? u <= 1? u )
(
για (v =- 1? v <= 1? v )
(
sumx = sumx Sx [u 1] [v 1] * img [i u] [j v]?
sumy = sumy Sy [u 1] [v 1] * img [i u] [j v]?
)
)
Dx [j] = sumx?
Dy [j] = sumy?

)
)
)

/ / υπολογισμός προσανατολισμό

for (i = 0? i <512? i )
(
για j = (0? j <512? j )
(
Vx [j] = 0.0?
Vy [j] = 0.0?
για (u = i-W2 / 2? u <i W2 / 2? u )
(
για το (v = j-W2 / 2? v <j W2 / 2? v )
(

if ((u> = 0) & & (u <= 511) & & (v> = 0) & & (v <= 511))
(
Vx [j] = Vx [j] 2 * Dx [v] * Dy [v]?
Vy [j] = Vy [j] (Dx [v] * Dx [v]-Dy [v] * Dy [v])?

)
)

)

theta [j] = 1/2.0 * atan2 (Vy [j], Vx [j])?
orimg [j] = Theta [j] * (180.0/pi)?
/ / Εύρεση άμεσα προσανατολισμό κορυφογραμμή. Atan2 δίνει εξόδου σε ακτίνια, τώρα μετατρέπονται σε μοίρες.είναι της τάξης-pi / 2 έως π / 2

(ή) μπορούμε να γράψουμε ως

theta [j] = π / 2 1 / 2,0 * atan2 (Vx [j], Vy [j])?
/ / Πρώτο gradiant γωνία, και στη συνέχεια προσθέτοντας π / 2 δίνει τον προσανατολισμό κορυφογραμμή εδώ είναι στην περιοχή 0 έως πorimg [j] = Theta [j] * (180.0/pi)? / / μετατροπή σε βαθμούς
)
)/ / Gabor φιλτράρισμα

void φίλτρο (<BYTE> Εικόνας & img, <FLOAT> Εικόνα & orimg, <FLOAT> Εικόνα & filtimg)
(
printf ( "αρχή φιλτράρισμα \ n")?
float Gabor [11] [11]?
float x_theta, y_theta, temp1, temp2, θήτα?
int i, j, u, v, w, k, val = 0, temp3?
float sigmax, sigmay?

for (i = 0? i <512? i )
(
για j = (0? j <512? j )
(
θήτα = orimg [j]?
w = 11?
sigmax = 4,0?
sigmay = 4,0?

if ((i <w/2)||(i> = 512-w / 2) | | (ι <w/2)||(j> = 512-w / 2))
(
filtimg [j] = 255?
)
άλλος
(
για (u =- w / 2? u <= w / 2? u )
(
για (v =- w / 2? v <= w / 2? v )
(
x_theta = u * cos (theta) v * sin (theta)?
y_theta = (-u) * sin (theta) v * cos (theta)?

temp1 = (-0,5 )*((( x_theta * x_theta) / (sigmax * sigmax y_theta )) (( * y_theta) / (sigmay * sigmay)))?

Gabor [u w / 2] [v w / 2] = exp (temp1) * cos (2.0 * pi * 0,1 * x_theta)?)
)val = 0?
temp2 = 0.0?
για (u =- w / 2? u <= w / 2? u )
(
για (v =- w / 2? v <= w / 2? v )
(

εάν (Gabor [u w / 2] [v w / 2]> 0,05 | | Gabor [u w / 2] [v w / 2] <-0,05)
(
temp2 = temp2 Gabor [u w / 2] [v w / 2] * img [i u] [j v]?
val = val Gabor [u w / 2] [v w / 2]?
)

)
)temp2 = temp2/val?
αν temp2> (255)
temp2 = 255?
else if (temp2 <0)
temp2 = 0?

filtimg [j] = temp2?
)

)
)

printf ( "τέλος φιλτράρισμα \ n")?
)παρακαλούμε να το ελέγξει.

 

Welcome to EDABoard.com

Sponsor

Back
Top