using gradient function to calculate curvature of ridges in a fingerprint

2 visualizzazioni (ultimi 30 giorni)
I need to calculate the curvature of the ridges in a fingerprint image. I havent understood how to use the gradient function in matlab. I have used the :gradient(image) syntax of the function where "image" is a 281x231 logical matrix.
Error: g=zeros(size(image),class(image)); case of singleton dimention.
Is there any other way to calculate the curvature?
  1 Commento
Jan
Jan il 18 Nov 2012
Modificato: Jan il 18 Nov 2012
Gradient of a logical matrix? Please read the documentation of gradient again and try the examples. A gradient is not defined on a logical matrix.
Please post some code, which reproduces the error. An exact copy of the error message would be helpful also. Currently we see the line, which causes the error, but not the message itself.

Accedi per commentare.

Risposte (1)

Image Analyst
Image Analyst il 18 Nov 2012
Modificato: Image Analyst il 18 Nov 2012
A few problems here. First of all DON'T use image as the name of your image variable since "image" is the name of a built-in function.
Second, don't preallocate an all zero matrix like that. zeros() doesn't take logical type. Use false. So instead of
g=zeros(size(image),class(image))
do this:
g = false(size(logicalImage));
Third, I don't know if you want the curvature in the x-y plane or the curvature in the intensity direction.
  4 Commenti
divya r
divya r il 18 Nov 2012
I guess I am trying to do this all wrong. I do want the radius of curvature in the xy plane. I need it to find the point where the curvature is the maximum which will be the core point in the finger print.
Can I get some pointers on how to go ahead on this?

Accedi per commentare.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by