1. Field of the Invention
The present invention relates to a method for extracting raw data from an image resulting from a camera shot.
More specifically but not exclusively, it relates to a method for presenting data extracted from an image along a desired view angle, from a digital image taken by a photographic or cinematographic camera whether integrated or not into a communication device under any incidence.
It is notably applied to transmission and storage of text data and digitized graphics viewed beforehand by a camera under any incidence and then processed by correcting the projective deformation and/or optionally by enhancing the resolution in order to obtain a corrected image having higher legibility, viewed along an angle of incidence different from that of the camera shot, for example under normal incidence or any predetermined incidence. Of course, with the invention useful information may be extracted before or after correction. Such a process is most particularly suitable for transmitting text and/or graphic information taken by a camera fitted onto a portable communications terminal, such as for example, a cellular radio transmitter/receiver.
2. Description of the Prior Art
Of course, in order to extract raw data relating to printed or handwritten information in an image and to infer from them, zones to be corrected, the applicant has already proposed a solution consisting of extracting the information by calculating, as extracted raw data, a difference image D(C, L) (in fact, the contrast between the background's light level and the light level of the data to be extracted). A threshold value is used for selecting the values to be extracted from this difference image. This threshold value VS may thereby be selected as a threshold value of the gradient for removing the grid of lines (square pattern). However, this method has the following drawbacks:
If no grid of lines is present in the original image, value VS corresponds to the threshold for removing noise. It is found that this threshold is difficult to obtain by using a conventional histogram technique which does not provide satisfactory results.
If grid lines are present, the correct threshold for finding a pattern may be determined, but this threshold value cannot always be used as a threshold for extracting a piece of information. Indeed, this threshold value always does not remove either grid lines or noise completely because the non-predictive image contrast varies like a diffuse saturation and like fogged image surfaces due to random illumination conditions.
In the case of color images, three channels (red, green and blue) need to be considered and it is not clearly apparent whether one should have one threshold per channel or one threshold for all the channels.
Moreover, it is known that reading and/or interpretation by a person of a text or graphic reproduced from information delivered by a camera which views an original document, assumes that shooting is performed under or close to normal incidence in order to allow recognition of letters composing the text and interpretation of the graphic (which most often requires observance of the shapes and proportions).
Indeed, when the document is viewed by a camera under any incidence, the produced image has a projective deformation: accordingly, starting from a certain distance from the camera, disappearance of details which are required for character recognition and for consequently understanding the document, is reported.
In order to eliminate these drawbacks, the applicant has already proposed a solution consisting of extracting identifiable contextual data present in the image taken by the camera and correcting the raw or extracted data delivered by the camera by means of these contextual data, the corrected data being then stored in memory and/or transmitted to an addressee so as to be displayed for reading purposes.
The contextual data used for performing the correction of raw data may affect a pattern (a physical, plotted or printed contour) initially existing in the document or reported beforehand, certain parameters of which are known beforehand. The correction process may then comprise the following steps:
The pattern searching step is then obtained by a first searching sequence including:
For each area found, this process comprises a calculation step for determining the main axis of the zone, for finding a point external to the zone on said main axis, the construction of an external cone issued from the external point, the extraction of the points from the boundary, the external normal of which is opposed to the vector which joins it and starts from the external point, the calculation of the line borne by the main axis of the extracted points, when the four lines are found, the calculation of four apices of the quadrilateral derived from the four lines and then, when the surface area of the quadrilateral is close to the surface area of the zone, the calculation of the homography deforming the quadrilateral into a rectangle having pre-established proportions.
It is found that one of the drawbacks of this method precisely consists in that it involves proportions set beforehand. Of course, if these proportions set beforehand are not the initial ones, the homographic transformation performed on the image leads to changes in the proportions of the objects contained in the corrected image.
Moreover, it is found that the homographic calculations used hitherto, are particularly complicated. Indeed, for each pixel of the final image, a zone of the initial image needs to be determined, the luminance and chrominance values of which are read in order to subsequently assign them in the final image to the location which this pixel should have according to a homographic relationship.
Now, it is seen that the written text portion in an image generally does not comprise more than 20% of the pixels of this image so that the remaining 80% of the pixels of the image are of no interest.
Accordingly, the object of the invention notably is to solve these problems.
For this purpose, first of all, it provides a method for accurately determining a noise contextual datum used for correcting the extracted raw data, and notably, the threshold value VS at which the printed or handwritten information may be extracted without being concerned with knowing whether the grid lines are present or not, regardless of the sought-after pattern. Further, this threshold value may be used as a gradient threshold for seeking the pattern in order to reduce the processing requirements to the one and only pattern searching step. If the intention is to extract information for a color image, each color component of the image should be considered for calculating a unique threshold in order to extract color information.
An image having a grey level is then considered, which may consist in a combination of three color channels of the image (red-green-blue) or in one of these channels.
More specifically, the invention provides a method for extracting raw data from an image resulting from a camera shot, characterized in that it comprises the following steps:
a) determining for each point located by column C and line L of the image, a value VS[C, L] consisting of a combination of components of the color of the image, expressed as:
V0[C,L]=αRed[C,L]+βGreen[C,L]+γBlue[C,L]
Advantageously,
The raw data D[C,L] are generally affected by a perspective deformation due to the arbitrary position of the camera in front of the supporting medium. The perspective deformation of the extracted raw data may be corrected with a known method for extracting geometrical contextual data. Likewise, these extracted raw data are also affected by luminous and/or electronic noise which may be eliminated by thresholding as follows:
After having calculated the noise contextual datum VS, for each point of the image, a comparison of value D[C,L] with threshold value VS is made in order to determine the value D*[C,L] to be extracted in the following way:
Generation of image I*(p) containing the extracted data according to the subtractive principle, results from the calculation I*(p)=Imax−f.D*(p) (dark data/bright background), with Imax, value of the bright background, which may be equal to 255 for example, or I*(p)=Imin+f.D*(p) (bright data/dark background), Imin may be equal to zero.
The threshold value VS is a noise contextual datum used for correcting raw data D[C,L]. It may be calculated according to a method based on the probability q that any regional maximum of raw data contains noise. This method comprises the following operating phases:
The threshold value VS may also be calculated according to the following method:
1) A first step for calculating a histogram of the pits, H_pits, including the following operating phases:
2) A second step for calculating the histogram of the bumps, H_bumps, includes the following operating phases:
b) the maximum value of the bumps, S_bumps_max, is calculated, which is equal to the maximum value of S(p) for all pixels p
c) the bump histogram H_bumps(s) is reset to 0 for each s between 0 and the maximum value of the bumps, S_bumps_max
d) for each pixel p of the image S(p), the following calculations are performed:
It is seen that step b) of the method for extracting raw data, is iterated a large number of times, so that the threshold values calculated by means of both methods described earlier via calculation of S(p) do not allow the extracted raw data to be corrected efficiently.
This drawback may be suppressed by using the alternative consisting of replacing S(p) with D(p).
Thus, in this case, when the probability q that any regional maximum of the raw data contains noise, is known, the process for extracting the noise contextual datum may comprise the following steps:
If the probability q that any regional maximum of the raw data contains noise, is not known, the process for extracting the noise contextual datum VS may comprise the following steps:
1) a first step for calculating a pit histogram, H_pits includes the following operating phases:
2) A second step for calculating a bump histogram, H_bumps includes the following operating phases:
3) A third step for superimposing pit H_pits and bump H_bumps histograms includes the following operating steps:
4) a step for calculating the value of the noise contextual datum VS according to the relationship:
VS=r.Smin+(1−r).Smax where ½<r≦1
Of course, information from a color image with red, green, blue color channels needs to be extracted. The steps of the method described earlier may be followed for each color channel, by determining a threshold for each channel. Extraction of the color information from the red, green, blue channels and their recombination into a final color image may be performed by extracting the red, green, blue values in each pixel for which it is seen that the threshold has been exceeded.
Moreover, with the purpose of eliminating the drawbacks of the searching methods for patterns (physical, plotted, or printed contours), expressing some contextual data and involving proportions set beforehand, the invention proposes determining the real height/width ratio of the quadrilateral formed by four identified points of a pattern present in the image of a contour which is used for determining some contextual data of the image and this, in order to be able to reconstruct a document having the same proportions.
For this purpose, the applicant provides a method for presenting information extracted from an image of the aforementioned type along a desired view angle, from a picture taken by a camera under any incidence, this method comprising:
This method is characterized in that, for obtaining an image containing extracted data having the same proportions as the object, it comprises the determination of the real height/width ratio of the quadrilateral defined by the aforementioned points and the taking into account of this ratio r in generating the corrected image.
More specifically, determination of the proportions of the quadrilateral (rectangle) is carried out according to a process comprising the following steps:
If only the vanishing lines of a same pair intersect at a vanishing point while both other vanishing lines are parallel (vanishing point projected to infinity), calculation of the r ratio will be carried out by starting with a pre-established focal length f of the camera.
If all the vanishing points are projected to infinity, ratio r is equal to the ratio of the lengths of the adjacent sides of the quadrilateral.
An important advantage of this method consists in that it is not very sensitive to lack of orthogonality of the adjacent sides of the quadrilateral which is frequently the case when the quadrilateral is a pattern plotted by hand. Indeed, conventional solutions are particularly sensitive to such defects (instability in the case of lack of orthogonality).
Another advantage of this solution consists in that texts may be reproduced in which there is no alignment of characters.
With the purpose of alleviating homographic calculations notably by avoiding unnecessary calculations and by only applying them to the pixels which are relevant to the written text in the image and by reusing as much as possible calculations which have already been performed, the applicant proposes an operating sequence including the following phases:
Advantageously, the calculation of the inverse homography may comprise a preliminary calculation by inverse homography of the lines and columns of each pixel of the ideal mask. It will then be possible to infer the position of a given pixel in the initial image by calculating the intersection of both lines.
Embodiments of the invention will be described hereafter, as non-limiting examples, with reference to the appended drawings wherein:
In the example illustrated in
The camera is positioned above the plane of the supporting medium and therefore of the document, at a determined height, the axis of the camera which is orientated towards the document being oblique (here, an angle of incidence of about 30°).
The image of the document taken by the camera is located in an image plane which extends perpendicularly to the optical axis of the camera.
The orthogonal projection of the optical centre C of the camera in the plane of the supporting medium is called the base of the camera.
The plane passing through point C which is parallel to the plane of the supporting medium is the apparent horizon of the supporting medium.
The pattern of a rectangle of document DT provides at the image, a quadrilateral A,B,C,D (
As illustrated in
In accordance with the method according to the invention, calculation of the physical aspect ratio r (r=horizontal length/vertical length) of the rectangle forming the original pattern is achieved according to one of the following three operating sequences:
This results from the following demonstration in three steps:
This results from the fact that [O1,P1] and [O2,P2] are projections of two segments of the same length: [O1,P1] and [O2,P2] may be used as segments and the relative lengths of segments [M1,N1] and [M2,N2] may be measured by using the crossed ratios and r may be inferred from them.
formula wherein f is the focal length of the camera (with the understanding that this focal length f is calculated beforehand).
These relationships are essentially based on invariants in projective geometry and in particular on the crossed ratios of four points, the relationships of which are expressed facing
From points A*,B*,C*, and D*, a first series of crossed ratios
may be obtained.
Likewise, from points A*1, B*1, C*1, D*1 a second series of crossed ratios
is obtained.
Conservation of the crossed ratio is then expressed as
In the case when one of the points, for example point A, is projected to infinity, the ratio A*B*/A*D* is considered to be equal to 1.
As mentioned earlier, the invention also provides a method for reshaping the image allowing the complexity of the homographic calculations to be reduced, calculations which were hitherto used notably when this image contains text.
The position of a point inside or outside a quadrilateral may be determined according to the method illustrated in
This figure shows in an x,y coordinate reference plane, a quadrilateral A′, B′, C′, D′, as well as, inside this quadrilateral, two points P and G of coordinates xp, yp and xo, yo. The G point may consist of the centre of gravity of the quadrilateral A′, B′, C′, D′ or more simply of the centre of its diagonals, for example the centre of segment B′D′.
Segments A′B′-B′C′-C′D′ and D′A′ are borne by lines D1, D2, D3, D4, respectively.
The expression of these lines and more generally of a line Di with i=1,2,3,4 is of the type:
ai.x+bi.y+ci=0
ai, bi, ci being constants.
Point P is therefore inside the quadrilateral if and only if, it is always on the same side as G relatively to the limits of the quadrilateral (each limiting line D1-D4 dividing the plane into two portions): this amounts to stating that:
Reference will be made here to
Point O, if it exists, is the intersection of lines (P1, P2) and (P3, P4). Point Q is the intersection of lines (P1, P4) and (P2, P3). Point I is the intersection of segments OP and P1P4, whereas J is the intersection of segments QP and P3P4.
It is known that homography provides the transformation of a quadrilateral (here, P1-P4) into a rectangle H(P1), H(P2), H(P3), H(P4) visible in
In this
Conservation of the crossed ratios then gives:
The coordinates of H(P) may be inferred therefrom
The calculation of the image of a line by homography obviously results from this calculation as the image of a line simply consists of the segment joining the images of both points of the original line.
The calculation of the ideal mask is performed according to the following process:
Let (i,j) be a pixel which corresponds to the writing in the deformed binary mask with its four subpixels which surround it (
Let us assume that A, B, C and D are the images of these subpixels by direct homography (
An ideal binary mask may be obtained from this. A mechanism should then be established for calculating the image of a point with coordinates in the form of (u±½, v±½) wherein u, v is a pixel.
For this purpose, a point P of the coordinate plane (u±½, v±½) is considered. This point is determined by the intersection of two intermediate lines: the vertical line of coordinate u±½ and the horizontal line of coordinate v±½. The image of point P is then at the intersection of the images of the horizontal and vertical lines obtained by homography.
Accordingly, the images of these intermediate lines (and intermediate columns) are calculated beforehand. As soon as these images have been precalculated, the images of the subpixels are obtained by the intersection of two precalculated images of intermediate lines.
In order to calculate the final image, to each pixel of the binary mask, an intensity value must be assigned, which is calculated by finding the position of this pixel in the initial image: for this purpose, an inverse homography calculation needs to be performed.
Thus, by repeating the symbology of
The parameters of lines (QJ) and (OI) should then be found in order to calculate their intersection P. The position of points I and J should then be calculated. This result is easily obtained by finding distances JP3 and IP1, for example.
This is possible by using the following form of crossed ratios:
It then becomes possible to calculate the position of point P.
Practically, the images are calculated beforehand by inverse homography of the lines and columns of the ideal mask. The position of a given pixel is then inferred in the original image by calculating the intersection of two lines (in this example, the two lines avec (OI) and (QJ)).
Of course, the invention is not limited to this single method.
If the pixels surrounding point (x,y) such as illustrated in
I(x,y)=(y−j)[(i+1−x)I(i,j+1)+(x−i)I(i+1,j+1)]+(j+1−y)[(i+1−x)I(I,j)+I(I+1,j)]
Pixel (u,v) in the final image will then have intensity I(x,y) with the understanding that the grey levels are quantified in the final image.
Advantageously, the image containing the corrected extracted data from the noise may be calculated according to the subtractive principle.
It is known that luminance is equal to a combination of the intensities of the fundamental colours (red, green, blue): for example L=0.5G+0.3R+0.2B.
Thus, in accordance with the method according to the invention, for each of the pixels, one successively proceeds with extracting the luminance, extracting the raw data D(p), calculating the noise contextual datum VS, extracting the noise corrected raw data D*(p) by means of the noise contextual datum, and then generating the luminance image corrected by the following calculation:
Advantageously, in the case of a colour image, the subtractive principle may be used by removing contrasts of determined chrominances from the background colour, as with a filter, in order to obtain the sought-after colour for the final image.
For example, the noise contextual datum VS may be extracted on the basis of the luminance image, and then the corrected raw data may be extracted from the noise (D*R,D*G,D*B) of the colour channels by calculating the raw data of channels DR, DG, DB, expressing the contrast between the observed chrominance RGB and that of the background (VRBack., VGBack., VBBack.) and thresholding by means of VS, and finally generating the corrected chrominance image.
As an example, let us assume that at a pixel, the estimated chrominance of the background corresponding to a white area of the supporting medium is (VRBack., VGBack., VBBack.)=(160, 140, 110), and that this pixel represents a blue writing area with chrominance (VR0,VG0,VB0)=(120, 115, 105). Let us assume that the corrected white/blue contrast of the optical noise is (D*R,D*G,D*B)=(160−120, 140−115, 110−105)=(40, 25, 5). Let us set the chrominance of the pixels of the final image representing the white areas of the supporting medium to (RB,GB,BB)=(255, 255, 255), the corrected chrominance of this pixel in the final image is then determined by subtracting the contrast weighted earlier by an f factor, from that of the white, so that the corrected chrominance (R*,G*,B*) of the final image in this pixel will be, if f=1,
(R*,G*,B*)=(RB−D*R,GB−D*G,BB−D*B)=(255−40,255−25,255−5)=(215, 230, 250).
The f factor mentioned earlier may be advantageously used for aligning the obtained colours with reference colours, displayed for example on a test pattern.
Of course, the invention is not limited to the embodiments described earlier.
Thus, it is notably found that the usual process for determining the threshold value VS at which a handwritten or printed piece of information may be extracted from each pixel of the difference image D(p) (based on knowing beforehand the probability q that a regional maximum of raw data D(p) is generated by noise), has the two following drawbacks:
The invention therefore provides an enhancement of this method with which the two drawbacks mentioned earlier may be avoided. This enhancement notably provides accurate determination of the threshold value VS, at which the printed or handwritten information may be extracted from the difference image D(p) (analogous to D[C,L]) and determination whether the information is dark on a bright background or vice versa, bright on a dark background.
By considering a grey level image I(p) which may either be a combination of the three colour channels of the image (red, blue, green) or one of these three channels, the method according to the invention comprises the following steps, with reference to
1) A first step for calculating a pit histogram H_pits includes the following operating phases:
b) the maximum value of the pits, S_pits_max is calculated, which is equal to the maximum value of S(p) for all the pixels p
c) the pit histogram H_pits is reset to 0 for each value of s between 0 and the maximum value of the pits, S_pits_max
d) for each pixel p of image S(p) the following calculations are performed:
2) A second step for calculating the bump histogram H_bumps includes the following operating phases:
3) A third step for superimposing pit H_pits and bump H_bumps histograms includes the following operating steps:
4) A step for calculating the value of the extraction threshold VS according to the relationship:
VS=r.Smin+(1−r).Smax where ½<r≦1
5) A step for comparing H_pits and H_bumps includes the following operating phases for β>0:
6) A step for extracting luminance information L(p) includes the following operating phases:
As an example, satisfactory results may be obtained with the following parameters:
The invention also relates to the simulation of an image of a rectangle (A,B,C,D) with a prescribed physical aspect ratio r=CD/AD, a prescribed point of the projected rectangle in the image (for example point D) and a known projected distance (for example CD) with a camera having a prescribed focal length (f), a tilt angle (π/2)−i where i is the angle of incidence), α is an angle of rotation around the axis of the camera and if i≠0, a prescribed skew angle (β) relatively to one of the existing vanishing points (for example F1). These different parameters are indicated in
The solution of this problem comprises the three following steps which refer to
Calculation of the three unknown points of the pattern takes into account the three following cases:
If i≠0 (there is at least one vanishing point), the calculation comprises the four following operating phases:
Number | Date | Country | Kind |
---|---|---|---|
04 02960 | Mar 2004 | FR | national |
04 13047 | Dec 2004 | FR | national |
Number | Name | Date | Kind |
---|---|---|---|
6038295 | Mattes | Mar 2000 | A |
6999111 | McIntyre et al. | Feb 2006 | B2 |
7028081 | Kawashima | Apr 2006 | B2 |
7127271 | Fujisaki | Oct 2006 | B1 |
20010016852 | Peairs et al. | Aug 2001 | A1 |
20020108118 | Cohen et al. | Aug 2002 | A1 |
Number | Date | Country |
---|---|---|
2 818 480 | Jun 2002 | FR |
WO 0031966 | Jun 2000 | WO |
Number | Date | Country | |
---|---|---|---|
20050212925 A1 | Sep 2005 | US |