Claims
- 1. A method for the automatic non-minutiae identification of a fingerprint of a person to be identified, comprising the steps of:
- video scanning an image of a fingerprint and producing fingerprint image data and whitespace data;
- electronically storing in digital form, in an addressable memory, said fingerprint image data and whitespace data;
- determining the location of the said fingerprint image data stored in digital form in said addressable memory with the said whitespace data;
- image framing the said fingerprint image data and whitespace data to a predetermined dimension, and establishing Y-TOP and Y-BOTTOM values along the Y-axis of said predetermined dimension;
- computing the X-Axis Range of the fingerprint image data contained in the framed image data by determining two X-axis values, said X-axis values being X-START and X-END, wherein X-START indicates the memory data location where the fingerprint image data starts on the X-axis, and X-END indicates the memory data location where the fingerprint image data ends on the X-axis;
- computing the Y-Axis Range of the fingerprint image data contained in the framed image data by determining two Y-axis values, said Y-axis values being Y-START and Y-END, wherein in Y-START indicates the memory data location where the fingerprint image data starts on the Y-axis, and Y-END indicates the memory data location where the fingerprint image data ends on the Y-axis;
- determining the dimensional area of said fingerprint image data by utilizing said X-START, X-END, Y-START and Y-END values;
- defining a fingerprint identity window within said fingerprint image data;
- defining said whitespace data as having a predetermined greylevel value;
- defining said fingerprint image data as having a second predetermined greylevel value distinct from that defined for the said whitespace data;
- as to said image framing, examining memory data locations (128, Y) where 0.ltoreq.Y.ltoreq.255, and upon finding three consecutive rows of whitespace data, defining Y-TOP as the latter examined data row Y-axis value, and examining memory data locations (128, Y) where 255.gtoreq.Y.gtoreq.0 and upon finding three consecutive rows of whitespace data, defining Y-BOTTOM as the last examined data row Y-axis value;
- computing the X-Axis Range of the framed image data to indicate the start and end memory locations of the fingerprint image data on the X-axis by determining X-START and X-END X-axis values, wherein X-START is determined by examining memory data locations (X,Y) where 0.ltoreq.X.ltoreq.255 and Y-TOP.ltoreq.Y.ltoreq.Y-BOTTOM, by detecting three consecutive columns of whitespace data and a next column having a greylevel value equal to said second predetermined value and considering the memory data location of said next column to be a first part of said fingerprint image data along the X-axis, and wherein X-END is determined in similar manner as for said X-START value but in an opposite direction from 255.gtoreq.X.gtoreq.along the X-axis so that said X-END value indicates the memory data location along the X-axis where the fingerprint image data ends;
- computing the Y-Axis Range of the framed image data to indicate the start and end memory locations of the fingerprint image data on the Y-axis by determining Y-START and Y-END Y-axis values, wherein Y-START is determined by memory data locations (X,Y) where X-START.ltoreq.X.ltoreq.X-END and Y-TOP.ltoreq.Y.ltoreq.Y-BOTTOM by detecting three consecutive rows of whitespace data and a next row having a greylevel value equal to said second predetermined value and considering the memory data location of said next row to be a first part of said fingerprint image along the Y-axis, and wherein Y-END is determined in similar manner as for said Y-START value but in an opposite direction from Y-BOTTOM.gtoreq.Y.gtoreq.Y-TOP along the Y-axis so that said Y-END value indicates the memory data location along the Y-axis where the fingerprint image data ends;
- defining said fingerprint identity window by determining the dimension of said window around an origin point defined as (XC,YC) wherein:
- XC=X-END minus (X-END minus X-START).div.3 and
- YC=Y-END minus (Y-END minus Y-START).div.2; and
- further defining the dimensional area of the said fingerprint identity window by predetermining a window-size for said fingerprint identity window and defining said dimensional area as from (XC-DIFF, YC-DIFF) to (XC+DIFF, YC+DIFF) where DIFF=1/2(window-size minus 1), wherein (XC-DIFF)=Xs (YC-DIFF)=Ys, (XC+DIFF)=Xe, and (YC+DIFF)=Ye.
- 2. A method for automatic non-minutiae identification of a fingerprint of a person to be identified, comprising the steps of:
- video scanning an image of a fingerprint and producing fingerprint image data and whitespace data;
- electronically storing in digital form in addressable memory, said fingerprint image data and whitespace data;
- determining the location of the said fingerprint image data stored in digital form in said addressable memory with the said whitespace data;
- defining a fingerprint identity window within said fingerprint image data stored in the said addressable memory;
- defining said fingerprint identity window by determining the dimensions of said window around an origin point defined as (XC, YC), wherein XC=X-END minus (X-END minus X-START) divided by 3, and YC=Y-END minus (Y-END minus Y-START). divided by 2;
- defining the dimensional area of the said fingerprint identity window by predetermining a window-size for said fingerprint identity window and defining said dimensional areas as from (XC-DIFF, YC-DIFF) to (XC+DIFF, YC+DIFF DIFF=1/2(window-size minus 1) and (XC-DIFF)=Xs, (XC+DIFF)=Xe, (YC-DIFF)=Ys, and (YC+DIFF)=Ye;
- computing a count S1 of ridges contained within a diagonal line from (Xs,Ys) to (Xe,Ye);
- computing a count S2 of ridges contained within a diagonal line from (Xs,Ye) to (Xe,Ys);
- computing a count Yma equal to the highest number of ridges found within any horizontal line in the Y-Axis "A-Range" which is defined as: Ys.gtoreq.horizontal line<YC;
- computing a count Ymb equal to the highest number of ridges found within any horizontal line in the Y-Axis "B-Range" which is defined as: YC<horizontal line.ltoreq.Ye;
- computing a count Ya equal to the sum total number of ridges found within all horizontal lines in the Y-Axis "A-Range" which is defined as: Ys.gtoreq.horizontal line<YC, wherein Ya is stored as two counts, Ya.alpha. and Ya.beta., wherein Ya.alpha.=total number of ridges on the base 256 horizontal lines in said sum total, and Ya.beta.=the remaining number or ridges counted which is always a number<256, wherein Ya=(Ya.alpha.(256) Ya.beta.).div.(windowsize .div.2);
- computing a count Yb equal to the sum total number Of ridges found within all horizontal lines in the Y-Axis "Range" which is defined as: YC<horizontal line.gtoreq.Ye, wherein Yb is stored as two counts, Yb.alpha. and Yb.beta., where Yb.alpha.=total number of ridges on the base 256 horizontal lines in said sum total, and Yb.beta.=the remaining number of ridgess counted (window-size.div.2);
- computing a count Yc equal to the number of ridges found within horizontal line YC on the Y-axis, wherein Yc is a whole number and YC is the Y-axis center line of said fingerprint identity window;
- computing a count Xma equal to the highest number of ridges found within any vertical line in the X-Axis "A-Range" which is defined as: Xs.gtoreq.vertical line<XC;
- computing a count Xmb equal to the highest number of ridges found within any vertical line in the X-Axis "B-Range" which is defined as: XC<vertical line.ltoreq.Xe;
- computing a count Xa equal to the sum total number of ridges found within all vertical lines in the X-Axis "A-Range" which is defined as: Xs.ltoreq.vertical line<XC, wherein Xa is stored as two counts, Xa.alpha. and Xa.beta., wherein Xa.alpha.=total number of ridges on the base 256 vertical lines in sum total, and Xa.beta.=the remaining number of ridges counted which is always a number<256, wherein Xa=(Xa.alpha.(256)+Xa.beta.).div.(window-size.div.2);
- computing a count Xb equal to the sum total number of ridges found within all vertical lines in the X-Axis "B-Range" which is defined as: XC<vertical line.ltoreq.Xe, wherein Xb is stored as two counts, Xb.alpha. and Xb.beta., wherein Xb=total number of ridges on the base 256 vertical lines in said sum total, and Xb.beta.=the remaining number of ridges counted which is always a number<256, wherein Xb=Xb.alpha.(256)+Xb.beta.).div.(window-size.div.2);
- computing a count Xc equal to the number of ridges found within vertical line XC on the X-axis center line of said fingerprint identity window; and
- compiling a data matrix from said counts S1, S2, Yma, Ymb, Ya, Yb, Yc, Xma, Xmb, Xa, Xb and Xc to provide a non-minutiae digitized numeric identifier having 24 bytes of fingerprint identification data.
- 3. A method as defined in claim 1, further comprising the steps of:
- computing a count S1 of ridges contained within a diagonal line from (Xs,Ys) to (Xe,Ye);
- computing a count S2 of ridges contained within a diagonal line from (Xs,Ye) to (Xe,Ys);
- computing a count Yma equal to the highest number of ridges found within any horizontal line in the Y-Axis "A-Range" which is defined as: Ys.ltoreq.horizontal line<YC;
- computing a count Ymb equal to the highest number of ridges found within any horizontal line in the Y-Axis "B-Range" which is defined as: YC<horizontal line.ltoreq.Ye;
- computing a count Ya equal to the sum total number of ridges found within all horizontal lines in the Y-Axis "A-Range" which is defined as; Ys.ltoreq.horizontal line<YC, wherein Ya is stored as two counts, Ya.alpha. and Ya.beta., where Ya.alpha.=total number of ridges on the base 256 horizontal lines in said sum total, and Ya.beta.=the remaining number or ridges counted which is always a number<256, wherein Ya=(Ya.alpha. (256)+Ya.beta.).div.(windowsize .div.2);
- computing a count Yb equal to the sum total number of ridges found within all horizontal lines in the Y-Axis "B-Range" which is defined as: YC<horizontal line.ltoreq.Ye, wherein Yb is stored as two counts, Yb.alpha. and Yb.beta., where Yb.alpha.=total number of ridges on the base 256 horizontal lines in said sum total, and Yb.beta.=the remaining number of ridges counted which is always a number<256, wherein Yb=(Yb.alpha.(256)+Yb.beta.).div.(window-size.div.2);
- computing a count Yc equal to the number of ridges found within horizontal line YC on the Y-axis, wherein Yc is a whole number and YC is the Y-axis center line of said fingerprint identity window;
- computing a count Xma equal to the highest number or ridges found within any vertical line in the X-Axis "A-Range" which is defined as: Xs.ltoreq.vertical line<XC;
- computing a count Xmb equal to the highest number of ridges found within any vertical line in the X-Axis "B-Range" which is defined as: XC<vertical line.ltoreq.Xe;
- computing a count Xa equal to the sum total number of ridges found within all vertical lines in the X-Axis "A-Range" which is defined as: Xs.ltoreq.vertical line<XC, wherein Xa is stored as two counts, Xa.alpha. and Xa.beta., wherein Xa.alpha.=total number of ridges on the base 256 vertical lines in said sum total, and Xa.beta.=the remaining umber of ridges counted which is always a number<256, wherein Xa=(Xa.alpha.(256)+Xa.beta.).div.(window-size.div.2);
- computing a count Xb equal to the sum total number of ridges found within all vertical lines in the X-Axis "B-Range" which is defined as: XC<vertical line.ltoreq.Xe, wherein Xb is stored as two counts, Xb.alpha. and Xb.beta., where Xb.alpha.=total number of ridges on the base 256 vertical lines in sum total, and Xb.beta.=the remaining number of ridges counted which is always a number<256, wherein Xb=(Xb.alpha.(256)+Xb.beta.).div.(window-size.div.2);
- computing a count Xc equal to the number of ridges found within vertical line XC on the X-axis, wherein Xc is a whole number and XC is the X-axis center line of said fingerprint identity window; and
- compiling a data matrix from said counts S1, S2, Yma, Ymb, Ya, Yb, Yc, Xma, Xmb, Xa, Xb and Xc to provide a nonminutiae digitized numeric identifier having 24 bytes of fingerprint identification data.
Parent Case Info
This application is a continuation, of application Ser. No. 430,421, filed Nov. 2, 1989, now abandoned.
A portion of the disclosure of this patent document contains material which is subject to (copyright or mask work) protection. The (copyright or mask work) owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all (copyright or mask work) rights whatsoever.
US Referenced Citations (32)
Non-Patent Literature Citations (4)
Entry |
Personal Identification News, Jan. 1989, "Fingermatrix", p. 27. |
Personal Identification News, Jan. 1989, "Identix", p. 28. |
Personal Identification News, Jan. 1989, "Morpho", p. 30. |
Personal Identification News, Jan. 1989, "Thumbscan", p. 34. |
Continuations (1)
|
Number |
Date |
Country |
Parent |
430421 |
Nov 1989 |
|