EP0676718A1 - Arrangement for optically counting stacked products - Google Patents

Arrangement for optically counting stacked products Download PDF

Info

Publication number
EP0676718A1
EP0676718A1 EP95400815A EP95400815A EP0676718A1 EP 0676718 A1 EP0676718 A1 EP 0676718A1 EP 95400815 A EP95400815 A EP 95400815A EP 95400815 A EP95400815 A EP 95400815A EP 0676718 A1 EP0676718 A1 EP 0676718A1
Authority
EP
European Patent Office
Prior art keywords
movement
linear
counting device
counting
pixel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
EP95400815A
Other languages
German (de)
French (fr)
Other versions
EP0676718B1 (en
Inventor
Bachâr Bittar
Dominique Perdoux
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gilles Leroux SA
Original Assignee
Gilles Leroux SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gilles Leroux SA filed Critical Gilles Leroux SA
Publication of EP0676718A1 publication Critical patent/EP0676718A1/en
Application granted granted Critical
Publication of EP0676718B1 publication Critical patent/EP0676718B1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06MCOUNTING MECHANISMS; COUNTING OF OBJECTS NOT OTHERWISE PROVIDED FOR
    • G06M1/00Design features of general application
    • G06M1/08Design features of general application for actuating the drive
    • G06M1/10Design features of general application for actuating the drive by electric or magnetic means
    • G06M1/101Design features of general application for actuating the drive by electric or magnetic means by electro-optical means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06MCOUNTING MECHANISMS; COUNTING OF OBJECTS NOT OTHERWISE PROVIDED FOR
    • G06M9/00Counting of objects in a stack thereof

Definitions

  • the present invention relates to a device for counting thin products stacked side by side.
  • the object of the invention is therefore to propose a counting device which is simple and inexpensive and allows the reading of the products stored in batches under a translucent shrink film.
  • the movement of movement of the shuttle is a reciprocating movement obtained by an electric motor whose drive shaft is connected by a mechanism for transforming the rotary movement into linear movement transmitted to the shuttle made integral with linear guide columns.
  • the movement of the tray is obtained by a cleat belt supporting a plurality of trays driven in a continuous movement of direction transverse to the linear reading beam.
  • a push button actuable by the user triggers a movement and during this movement the plurality of scans.
  • the storage means consist of as many memory bytes as photosensitive elements of the read bar of the camera.
  • the number of photosensitive elements is at least greater than twice the maximum number of objects that the device can count.
  • the number of photosensitive elements is preferably equal to ten times the maximum number of objects that the device can count.
  • the linear beam is returned by a plurality of mirrors to ensure with a compact device the scanning of a large container.
  • each photosensitive element allows the detection of 256 brightness levels translated into words of one byte constituting the representation of a pixel.
  • the counting means allow the alternating detection of vertices and valleys starting with a vertex detection and the counting of the vertices and valleys constituting the stored sinusoidal signal representative of the linear beam.
  • the detection of the vertices ensures the detection of the first edge and the determination of the vertices by measuring the distance between the previous vertex and the pixel being processed and by comparing the distance with a minimum value which corresponds to l thickness of a product and also includes a step of calculating the percentage of variation of the top which makes it possible, in the event of the percentage being exceeded relative to a set value, to determine the presence of an edge.
  • the detection of the valleys is carried out with respect to the previous memorized vertex by measuring the distance between the vertex and the processed pixel and with respect to the previous memorized valley by measuring the distance between the valley and the treated pixel and retaining the pixel as forming a valley if the two distances are correct with respect to reference values and, if not, by processing the next pixel.
  • Figures 1 to 9 show the mechanical part consisting of a support (81, Figure 2) on which can be placed trays (2) containing a stack (1) of products such as magnetic or chip cards, access badges, tickets, bundles of paper, envelopes, etc., the batch of product being wrapped in a translucent shrink film not shown.
  • a support 81, Figure 2
  • trays (2) containing a stack (1) of products such as magnetic or chip cards, access badges, tickets, bundles of paper, envelopes, etc., the batch of product being wrapped in a translucent shrink film not shown.
  • the tray (2) is lit by a fluorescent tube (7) and the light beam reflected on the edge of the objects (1) to be counted and sent to a reflection device comprising a first mirror (5) and a second mirror (6) for converging the beam on a linear strip (41) of photosensitive elements belonging to a camera (4).
  • the beams (32, 31, 30) represent the light beam which converges towards the array of photosensitive elements (41).
  • This bar (41) comprises, for example, 5000 elements to allow the reading of a tray containing, for example, at most 500 products.
  • Each photosensitive element of the strip makes it possible to detect a light signal and to express this signal in the form of an electrical signal representative of 256 levels of brightness.
  • This signal is translated into words, for example, of 8 bits and each word is recorded in a memory element of the device.
  • the memory of the device consists, for the example given, of a random access memory of 5000 words of one byte.
  • the plane light beam (30) represents a scan and the device allows the camera to perform a plurality of scans transverse to the movement of the tray (2) represented by the arrows A and B and provided by a mechanism shown, for example, in Figure 2.
  • This mechanism consists of a support (81) made integral with two columns (84) mounted sliding each in two bearings mounted on legs (82, 83).
  • At least one of the columns (84) has a deflection piece (85) which makes it possible to transform a rotational movement imparted by an electric motor (86) into a linear movement communicated to the columns (84).
  • the purpose of this device is to ensure a back and forth movement which allows each cycle triggering caused by the depressing of a push button not shown and arranged on the cover of the machine, to have the tray (2 ) a back and forth movement, as shown in FIG. 1.
  • a switch (91) makes it possible to detect the presence of a tray (2) and to validate the reading sequences carried out during the plurality of scans as well as the counts some products.
  • the camera (4) performs during a forward movement about fifty scans, carried out alternately from left to right and from right to left and during the return movement another fifty alternating scans.
  • the light signal recorded by the photosensitive elements is constituted by a sinusoidal signal the vertices of which represent approximately the mediums of the products, the valleys, the edges and the distance separating two valleys corresponds to the thickness of a product to be counted.
  • the first vertex of coordinates ys0 corresponds in fact to a detection edge of the tray while the first vertex ys1 corresponds to the first product to be counted.
  • a microprocessor device controlled by a program implementing the algorithms described below makes it possible to process the information stored during the first scan before validating the storage of a second scan, shown in Figure 9.
  • the program for reading the stored scans and counting the products corresponds to the implementation of the algorithms shown in FIGS. 3 to 7.
  • the program performs the processing of a line represented in step (31) and after this line processing performs in step (32) a test to determine whether a determined number of lines , for example, were scanned, shown. If not, the result is stored in step (33) and if so, the program jumps to step (34) which is a test to determine whether it is an end of cycle. If the test is negative, the program loops before step (31).
  • step (35) which is a processing step results.
  • step (36) is constituted by the display of the report.
  • a test, represented in step (37), makes it possible to know whether it is necessary to carry out a following cycle. If not, the program loops back on itself between steps (36) and (37) and if it does, the program loops back to cycle start. This "next cycle” test consists of detecting that the push button has been pressed.
  • the line processing step (31) corresponds to the succession of steps represented in FIG.
  • step (313) the filling of the line memory is carried out in step (314) and in the other case of scanning right to left, the filling of the line memory is also carried out by a step (316).
  • step (317) of finding the edges of the tray is followed by a step (318) of analysis and accounting of the products between the edges.
  • the program ends with the processing of the results represented in step (319) for each of the lines.
  • This step is followed by a step 52 of loading the reference value which is equal to the value of the pixel whose processing is in progress.
  • This information consists of an 8-bit word representative of one of the 256 brightness levels received by the photosensitive element corresponding to the word memory processed.
  • step 53 for local search for vertices which is continued by a step 54 for calculating the difference between the local level and the reference value stored in step 52.
  • step 54 is followed by a step 55 of testing the value of the difference to determine whether this difference is greater than a set value. If so, the program knows in step 59 that an edge has been found. If not, the program continues with the step 56 of storage as the reference pixel of the pixel being processed.
  • step 57 determining whether it is the end or the beginning of a line by comparing the counter of the pixel pointer to determine whether it has reached the defined value set at 5000 for the example, or not.
  • the program displays "edge not detected" in step 58 by positioning a semaphore used in step 75 of FIG. 7, and in the negative the program loops before step 53 of search for local vertex .
  • the setpoint of step 55 generally corresponds to the distance which separates on average a summit of a valley and, as can be seen in the diagram in FIG. 9, the program in FIG. 5 makes it possible to detect as an edge the vertex Ys0 then, as we will see later, during the processing of the valley, noticing that the distance d1 between the summit and the next valley being less than another setpoint and the percentage of variation of the vertices being greater than one determined value, it considers that it is not the edge of the tray and detects the next vertex YS1 as being the effective edge of the tray.
  • the sequence 318 for analyzing and counting the products between the edges corresponds to the steps represented in FIG. 6 which begin with a step (61) for reading a pixel and then continue with a step 62 for testing on the type of sequence .
  • This test is carried out by determining whether the difference between the pixel being processed and the previous pixel is positive or negative and, if it is positive, triggers the local top processing sequence and if it is negative triggers the local valley processing sequence.
  • the local vertex processing sequence begins with a step 63 for measuring the distance (dss) between vertices and continues with a test step 64 to determine if this distance (dss) is greater than a minimum value.
  • the program continues with step 641 of processing the next pixel and loops back between steps 61 and 62 of testing the type of sequence.
  • the program continues with a step 65 of calculation of the percentage of variation of the vertices which determines the information (ys2 - ys1) x100 / ys1 and ensures in the next step 66 that this variation is greater than a setpoint or not.
  • the program continues with a test step 691 to determine whether the variation is negative. if it is negative, the program loops before step 61 of reading a pixel.
  • step 692 the program continues with a test step 692 consisting in reading the content of the counter for the number of products and in determining whether the content of this counter is less than 3. If the answer is negative, the program loops before step 61 of reading a pixel. If the answer is yes, the program continues with a step (693) of readjusting the edge, considering that the treated vertex is in fact the real edge of the tray. This corresponds exactly to the situation where at first the program has detected ys0 and then by detecting ys1 it finds that the variation for ys1 is greater than the setpoint of step 66 and then, verifying that the number of products is less than 3, it considers that ys1 is the real edge of the set of products to be counted.
  • step 693 allows at the same time positioning a semaphore which will be used in step 75 of the sequence in FIG. 7. If the variation is less than the setpoint, the program in step 67 validates the vertex by incrementing a counter which counts the vertices.
  • This step 67 is followed by a jump to the local valley sequencer, therefore returning the program before step 62 to process a local valley according to the sequence below.
  • This processing always begins with the test (62) on the type of sequence and then continues with a step of measuring the summit-valley distance (dsv) and the valley-valley distance (dvv).
  • This step 621 is followed by a test step 622 making it possible to determine whether the two distances are correct with respect to reference values. If not, the program continues with the processing of the next pixel represented in step 625 and loops back before step 62. If so, if the distances are correct the program continues with a step 623 of validation of the valley which consists of incrementing a valley counter. This step is followed by a step 623 of processing a local vertex by looping the program between steps 61 and 62.
  • the program executes a sequence (35) for processing the results.
  • the program has determined that it is an end of cycle step in step 34 of FIG. 3, it performs the sequence of processing of the results which corresponds to the sequence of steps of FIG. 7 During this processing, the program begins by carrying out a step 71 of sorting the results in ascending order and then constructs, at step 72, a histogram of the results and searches at step 73 for the largest occurrence between the results.
  • step 74 the rate of success compared to a benchmark rate value.
  • a fairly high success rate was chosen but this instruction can possibly be modified. If for example the value 450 returns more than 7 times on 8 counts, the program considers that the reference rate value has been reached and the program will continue with a test step (75) to find out if there has been a good detection of extremities.
  • This step 75 consists in reading the semaphore which will have been positioned during step 693 indicating that the edges have indeed been detected.
  • step 751 signals a poor detection of the edges corresponding to step 50 and ends with the display (792) "no card found”. If so, the sequence continues with a test step 76 on the detection of the saturation of the photosensitive sensors. If so, step 771 indicates that there is too much brightness and ends with a display "too much light”, and if not the sequence continues with a processing step 77 constituting a test to determine whether the information read had good clarity. If not, the device displays a contrast defect and the sequence ends with a display "no card found", if so, the program ends with a test step 78 on the number of products to determine if this number is greater than zero. If so, the program ends with step 791 of displaying the number of products and the success rate.
  • FIG. 8 shows another variant of the device for mechanically moving the trays under the reading beam so as to be able to carry out a plurality of transverse scans with respect to the direction of movement of the trays (2).
  • these trays (2) are mounted on a cleat belt (21) itself stretched between two drive pulleys (22, 23) at least one of which is rotated by an electric motor fed sequentially after processing the 100 scan lines or the desired number of scan lines to achieve a sufficient success rate.

Abstract

The counting device comprises a support on which a bar (2) can be placed containing a stack of products to be counted. the bar is illuminated by a fluorescent tube, and the reflected light is collected by first (5) and second 96) mirrors. the light is focussed on to a linear bar of photosensitive elements (41) associated with a camera (4). The bar may include, for example, 5000 sensitive elements so that it can be used to detect the presence of up to 500 products stacked in the supporting bar (2). Each element of the detector is able to determine the intensity of incident light on a 256 level scale. <IMAGE>

Description

La présente invention concerne un dispositif de comptage de produits peu épais et empilés côte-à-côte.The present invention relates to a device for counting thin products stacked side by side.

Il est connu des dispositifs de comptage de produits par caméra matricielle nécessitant la mise en place d'une procédure d'étalonnage, aboutissant ainsi à un appareil complexe et onéreux.It is known devices for counting products by matrix camera requiring the implementation of a calibration procedure, thus resulting in a complex and expensive device.

Le but de l'invention est donc de proposer un dispositif de comptage qui soit simple et peu onéreux et permette la lecture des produits rangés en lots sous un film rétractable translucide.The object of the invention is therefore to propose a counting device which is simple and inexpensive and allows the reading of the products stored in batches under a translucent shrink film.

Ce but est atteint par le fait que le dispositif de comptage de produits peu épais empilés côte-à-côte et rangés sur champ en barquettes emballées sous film rétractable translucide est caractérisé en ce qu'il comporte :

  • des moyens d'éclairer la barquette ;
  • des moyens de détecter la mise en place d'une barquette sur une navette mobile animée d'un mouvement de déplacement ;
  • des moyens d'effectuer une pluralité de balayages de la barquette par un faisceau linéaire de lecture d'une caméra linéaire pendant le mouvement de déplacement de direction perpendiculaire au faisceau linéaire ;
  • des moyens de mémorisation des informations lumineuses contenues dans le faisceau linéaire et
  • des moyens de comptage pour chaque balayage du nombre de produits.
This object is achieved by the fact that the device for counting thin products stacked side by side and stored on the field in trays packed in translucent shrink film is characterized in that it comprises:
  • means for illuminating the tray;
  • means for detecting the placement of a tray on a mobile shuttle animated by a movement of displacement;
  • means for carrying out a plurality of scans of the tray by a linear reading beam from a linear camera during the movement of movement of direction perpendicular to the linear beam;
  • means for memorizing the light information contained in the linear beam and
  • counting means for each scan of the number of products.

Selon une autre particularité, le mouvement de déplacement de la navette est un mouvement de va et vient obtenu par un moteur électrique dont l'arbre d'entraînement est relié par un mécanisme de transformation du mouvement rotatif en mouvement linéaire transmis à la navette rendue solidaire de colonnes de guidage linéaire.According to another particular feature, the movement of movement of the shuttle is a reciprocating movement obtained by an electric motor whose drive shaft is connected by a mechanism for transforming the rotary movement into linear movement transmitted to the shuttle made integral with linear guide columns.

Selon une autre particularité, le mouvement de la barquette est obtenu par une courroie à taquets supportant une pluralité de barquettes entraînées d'un mouvement continu de direction transversale au faisceau linéaire de lecture.According to another particular feature, the movement of the tray is obtained by a cleat belt supporting a plurality of trays driven in a continuous movement of direction transverse to the linear reading beam.

Selon une autre particularité, un bouton poussoir actionnable par l'utilisateur déclenche un déplacement et au cours de ce déplacement la pluralité de balayages.According to another particularity, a push button actuable by the user triggers a movement and during this movement the plurality of scans.

Selon une autre particularité, les moyens de mémorisation sont constitués par autant d'octets mémoire que d'éléments photosensibles de la barrette de lecture de la caméra.According to another particular feature, the storage means consist of as many memory bytes as photosensitive elements of the read bar of the camera.

Selon une autre particularité, le nombre d'éléments photosensibles est au moins supérieur au double du nombre maximum d'objets que le dispositif peut compter.According to another particularity, the number of photosensitive elements is at least greater than twice the maximum number of objects that the device can count.

Selon une autre particularité, le nombre d'éléments photosensibles est de préférence égal à dix fois le nombre maximum d'objets que le dispositif peut compter.According to another particular feature, the number of photosensitive elements is preferably equal to ten times the maximum number of objects that the device can count.

Selon une autre particularité, le faisceau linéaire est renvoyé par une pluralité de miroirs pour assurer avec un dispositif compact le balayage d'une barquette de grande dimension.In another feature, the linear beam is returned by a plurality of mirrors to ensure with a compact device the scanning of a large container.

Selon une autre particularité, chaque élément photosensible permet la détection de 256 niveaux de luminosité traduits en mots d'un octet constituant la représentation d'un pixel.According to another particular feature, each photosensitive element allows the detection of 256 brightness levels translated into words of one byte constituting the representation of a pixel.

Selon une autre particularité, les moyens de comptage permettent la détection alternativement des sommets et des vallées en commençant par une détection de sommet et le comptage des sommets et des vallées constitutives du signal sinusoïdal mémorisé représentatif du faisceau linéaire.According to another particularity, the counting means allow the alternating detection of vertices and valleys starting with a vertex detection and the counting of the vertices and valleys constituting the stored sinusoidal signal representative of the linear beam.

Selon une autre particularité, la détection des sommets assure la détection du premier bord et la détermination des sommets par mesure de la distance entre le sommet précédent et le pixel en cours de traitement et par comparaison de la distance avec une valeur minimale qui correspond à l'épaisseur d'un produit et comporte également une étape de calcul de pourcentage de variation du sommet qui permet, en cas de dépassement du pourcentage par rapport à une valeur consigne, de déterminer la présence d'un bord.According to another particularity, the detection of the vertices ensures the detection of the first edge and the determination of the vertices by measuring the distance between the previous vertex and the pixel being processed and by comparing the distance with a minimum value which corresponds to l thickness of a product and also includes a step of calculating the percentage of variation of the top which makes it possible, in the event of the percentage being exceeded relative to a set value, to determine the presence of an edge.

Selon une autre particularité, la détection des vallées est effectuée par rapport au sommet précédent mémorisé en mesurant la distance entre le sommet et le pixel traité et par rapport à la vallée précédente mémorisée en mesurant la distance entre la vallée et le pixel traité et en retenant le pixel comme formant une vallée si les deux distances sont correctes par rapport à des valeurs de référence et, dans le cas contraire, en traitant le pixel suivant.According to another particular feature, the detection of the valleys is carried out with respect to the previous memorized vertex by measuring the distance between the vertex and the processed pixel and with respect to the previous memorized valley by measuring the distance between the valley and the treated pixel and retaining the pixel as forming a valley if the two distances are correct with respect to reference values and, if not, by processing the next pixel.

D'autres particularités et avantages de la présente invention apparaîtront plus clairement à la lecture de la description ci-après d'un mode de réalisation donné à titre d'exemple et faite en référence aux dessins annexés dans lesquels :

  • la figure 1 représente une vue en perspective du principe mécanique et optique de la machine de comptage ;
  • la figure 2 représente une vue schématique de côté du principe mécanique de la machine ;
  • la figure 3 représente l'organigramme représentatif du déroulement de l'opération de comptage ;
  • la figure 4 représente l'organigramme représentatif du traitement d'une ligne ;
  • la figure 5 représente l'organigramme représentatif du processus de localisation des bords de la boîte contenant les produits ;
  • la figure 6 représente l'organigramme représentatif du processus d'analyse et de comptabilisation des produits ;
  • la figure 7 représente l'organigramme représentatif du processus d'analyse et de traitement des résultats ;
  • la figure 8 représente une vue schématique de côté d'une autre variante de principe mécanique de la machine ;
  • la figure 9 représente la forme du signal en sortie des éléments photosensibles et mémorisé sous forme d'octets dans la mémoire de la caméra.
Other particularities and advantages of the present invention will appear more clearly on reading the description below of an embodiment given by way of example and made with reference to the appended drawings in which:
  • Figure 1 shows a perspective view of the mechanical and optical principle of the counting machine;
  • Figure 2 shows a schematic side view of the mechanical principle of the machine;
  • FIG. 3 represents the flowchart representative of the progress of the counting operation;
  • FIG. 4 represents the flowchart representative of the processing of a line;
  • FIG. 5 represents the flowchart representative of the process of locating the edges of the box containing the products;
  • Figure 6 shows the representative flowchart of the product analysis and accounting process;
  • FIG. 7 represents the representative flowchart of the process of analysis and processing of the results;
  • FIG. 8 represents a schematic side view of another variant of the mechanical principle of the machine;
  • FIG. 9 represents the shape of the signal at the output of the photosensitive elements and stored in the form of bytes in the memory of the camera.

L'invention sera maintenant décrite en liaison avec les figures 1 à 9 et en particulier avec les figures 1 et 2 qui représentent la partie mécanique constituée d'un support (81, figure 2) sur lequel on peut placer des barquettes (2) contenant un empilage (1) de produits tels que des cartes magnétiques ou à puce, badges d'accès, tickets, liasses de papier, enveloppes, etc..., le lot de produit étant emballé dans un film translucide rétractable non représenté.The invention will now be described in conjunction with Figures 1 to 9 and in particular with Figures 1 and 2 which show the mechanical part consisting of a support (81, Figure 2) on which can be placed trays (2) containing a stack (1) of products such as magnetic or chip cards, access badges, tickets, bundles of paper, envelopes, etc., the batch of product being wrapped in a translucent shrink film not shown.

La barquette (2) est éclairée par un tube fluorescent (7) et le faisceau lumineux réfléchi sur la tranche des objets (1) à compter et envoyé vers un dispositif de réflexion comprenant un premier miroir (5) et un deuxième miroir (6) pour faire converger le faisceau sur une barrette linéaire (41) d'éléments photosensibles appartenant à une caméra (4). Les faisceaux (32, 31, 30) représentent le faisceau lumineux qui converge vers la barrette d'éléments photosensibles (41). Cette barrette (41) comporte, à titre d'exemple, 5000 éléments pour permettre la lecture d'une barquette contenant, par exemple, au maximum 500 produits. Chaque élément photosensible de la barrette permet de détecter un signal lumineux et d'exprimer ce signal sous forme d'un signal électrique représentatif de 256 niveaux de luminosité. Ce signal est traduit en mots, par exemple, de 8 bits et chaque mot est enregistré dans un élément mémoire du dispositif. Ainsi, la mémoire du dispositif est constituée, pour l'exemple donnée, d'une mémoire vive de 5000 mots d'un octet. Le faisceau lumineux plan (30) représente un balayage et le dispositif permet à la caméra d'effectuer une pluralité de balayages transversalement au déplacement de la barquette (2) représentée par les flèches A et B et assuré par un mécanisme représenté, par exemple, à la figure 2. Ce mécanisme est constitué d'un support (81) rendu solidaire de deux colonnes (84) montées coulissantes chacune dans deux paliers montés sur des pieds (82, 83). Au moins une des colonnes (84) comporte une pièce de renvoi (85) qui permet d'assurer la transformation d'un mouvement de rotation imprimé par un moteur électrique (86) en un mouvement linéaire communiqué aux colonnes (84). Ce dispositif a pour but d'assurer un mouvement de va et vient qui permet à chaque déclenchement de cycle provoqué par l'enfoncement d'un bouton poussoir non représenté et disposé sur le capot de la machine, de faire effectuer à la barquette (2) un déplacement aller et retour, comme représenté à la figure 1. Un interrupteur (91) permet de détecter la présence d'une barquette (2) et de valider les séquences de lecture effectuées au cours de la pluralité de balayages ainsi que les comptages des produits.The tray (2) is lit by a fluorescent tube (7) and the light beam reflected on the edge of the objects (1) to be counted and sent to a reflection device comprising a first mirror (5) and a second mirror (6) for converging the beam on a linear strip (41) of photosensitive elements belonging to a camera (4). The beams (32, 31, 30) represent the light beam which converges towards the array of photosensitive elements (41). This bar (41) comprises, for example, 5000 elements to allow the reading of a tray containing, for example, at most 500 products. Each photosensitive element of the strip makes it possible to detect a light signal and to express this signal in the form of an electrical signal representative of 256 levels of brightness. This signal is translated into words, for example, of 8 bits and each word is recorded in a memory element of the device. Thus, the memory of the device consists, for the example given, of a random access memory of 5000 words of one byte. The plane light beam (30) represents a scan and the device allows the camera to perform a plurality of scans transverse to the movement of the tray (2) represented by the arrows A and B and provided by a mechanism shown, for example, in Figure 2. This mechanism consists of a support (81) made integral with two columns (84) mounted sliding each in two bearings mounted on legs (82, 83). At least one of the columns (84) has a deflection piece (85) which makes it possible to transform a rotational movement imparted by an electric motor (86) into a linear movement communicated to the columns (84). The purpose of this device is to ensure a back and forth movement which allows each cycle triggering caused by the depressing of a push button not shown and arranged on the cover of the machine, to have the tray (2 ) a back and forth movement, as shown in FIG. 1. A switch (91) makes it possible to detect the presence of a tray (2) and to validate the reading sequences carried out during the plurality of scans as well as the counts some products.

Comme on le verra par la suite, la caméra (4) effectue pendant un déplacement aller une cinquantaine de balayages, effectués alternativement de gauche à droite et de droite à gauche et pendant le déplacement retour une autre cinquantaine de balayages alternés. Comme représenté à la figure 9, à chaque balayage, le signal lumineux enregistré par les éléments photosensibles est constitué par un signal sinusoïdal dont les sommets représentent approximativement les milieux des produits, les vallées, les bords et la distance séparant deux vallées correspond à l'épaisseur d'un produit à compter. Le premier sommet de coordonnées ys0 correspond en fait à un bord de détection de la barquette alors que le premier sommet ys1 correspond au premièr produit à comptabiliser.As will be seen hereinafter, the camera (4) performs during a forward movement about fifty scans, carried out alternately from left to right and from right to left and during the return movement another fifty alternating scans. As shown in FIG. 9, at each scan, the light signal recorded by the photosensitive elements is constituted by a sinusoidal signal the vertices of which represent approximately the mediums of the products, the valleys, the edges and the distance separating two valleys corresponds to the thickness of a product to be counted. The first vertex of coordinates ys0 corresponds in fact to a detection edge of the tray while the first vertex ys1 corresponds to the first product to be counted.

Entre le balayage N°1 et le balayage N°2, un dispositif microprocesseur commandé par un programme mettant en oeuvre les algorithmes décrits ci-après permet d'effectuer le traitement des informations mémorisées au cours du premier balayage avant de valider la mémorisation d'un deuxième balayage, représenté à la figure 9.Between scan N ° 1 and scan N ° 2, a microprocessor device controlled by a program implementing the algorithms described below makes it possible to process the information stored during the first scan before validating the storage of a second scan, shown in Figure 9.

Le programme de lecture des balayages mémorisés et de comptabilisation des produits correspond à la mise en oeuvre des algorithmes représentés aux figures 3 à 7. Sur la figure 3, après le départ de cycle détecté par l'enfoncement du bouton poussoir par l'utilisateur, représenté à l'étape (30), le programme effectue le traitement d'une ligne représentée à l'étape (31) et après ce traitement de ligne effectue à l'étape (32) un test pour déterminer si un nombre déterminé de lignes, par exemple, ont été balayées, représenté. Dans la négative, le résultat est stocké à l'étape (33) et dans l'affirmative, le programme saute à l'étape (34) qui est un test pour déterminer s'il s'agit d'une fin de cycle. Si le test est négatif, le programme se reboucle avant l'étape (31). Dans le cas où le test est positif, c'est-à-dire si le compteur de balayage indique que le nombre déterminé de balayages linéaires a été effectué, le programme se poursuit par l'étape (35) qui est une étape de traitement des résultats. L'étape (36) suivante est constituée par l'affichage du compte-rendu. Un test, représenté à l'étape (37), permet de savoir s'il y a lieu d'effectuer un cycle suivant. Dans la négative le programme se reboucle sur lui-même entre les étapes (36) et (37) et dans l'affirmative le programme se reboucle au départ de cycle. Ce test "cycle suivant" est constitué par la détection de l'enfoncement du bouton poussoir. L'étape de traitement de ligne (31) correspond à la succession des étapes représentées à la figure 4 et cette séquence commence par une étape d'inversion du sens de balayage (312) et se poursuit par une étape (313) de test sur la détermination du sens. Dans le cas d'un balayage de gauche à droite, le remplissage de la mémoire ligne est effectuée à l'étape (314) et dans l'autre cas de balayage droite à gauche, le remplissage de la mémoire ligne est également effectué par une étape (316).The program for reading the stored scans and counting the products corresponds to the implementation of the algorithms shown in FIGS. 3 to 7. In FIG. 3, after the start of the cycle detected by the pushing of the push button by the user, represented in step (30), the program performs the processing of a line represented in step (31) and after this line processing performs in step (32) a test to determine whether a determined number of lines , for example, were scanned, shown. If not, the result is stored in step (33) and if so, the program jumps to step (34) which is a test to determine whether it is an end of cycle. If the test is negative, the program loops before step (31). In the case where the test is positive, that is to say if the scan counter indicates that the determined number of linear scans has been carried out, the program continues with step (35) which is a processing step results. The next step (36) is constituted by the display of the report. A test, represented in step (37), makes it possible to know whether it is necessary to carry out a following cycle. If not, the program loops back on itself between steps (36) and (37) and if it does, the program loops back to cycle start. This "next cycle" test consists of detecting that the push button has been pressed. The line processing step (31) corresponds to the succession of steps represented in FIG. 4 and this sequence begins with a step of reversing the scanning direction (312) and continues with a step (313) of testing on determining the meaning. In the case of a scanning from left to right, the filling of the line memory is carried out in step (314) and in the other case of scanning right to left, the filling of the line memory is also carried out by a step (316).

A chacune de ces étape de remplissage mémoire succède une étape (317) de recherche des bords de la barquette et à cette étape succède une étape (318) d'analyse et de comptabilisation des produits entre les bords. Le programme se termine par le traitement des résultats représenté à l'étape (319) pour chacune des lignes. La séquence de recherche de bords représentée par l'étape (317) et dont les étapes sont représentées à la figure 5. Cette séquence commence par une étape 51 d'incrémentation d'un pointeur point image "pixel" permettant de déterminer si l'on est au début ou à la fin des informations mémorisées correspondant à chacune des cellules photosensibles de la ligne. Lorsque le traitement de 5000 mots mémoire est terminé, le traitement d'une mémoire ligne est effectué.Each of these memory filling steps is followed by a step (317) of finding the edges of the tray and by this step is followed by a step (318) of analysis and accounting of the products between the edges. The program ends with the processing of the results represented in step (319) for each of the lines. The edge search sequence represented by step (317) and the steps of which are shown in FIG. 5. This sequence begins with a step 51 of incrementing a "pixel" image point pointer making it possible to determine whether the we are at the beginning or at the end of the stored information corresponding to each of the photosensitive cells of the line. When the processing of 5000 memory words is finished, the processing of a line memory is carried out.

A cette étape succède une étape 52 de chargement de la valeur de référence qui est égale à la valeur du pixel dont le traitement est en cours. Cette information est constituée par un mot de 8 bits représentatif d'un des 256 niveaux de luminosité reçus par l'élément photosensible correspondant au mot mémoire traité.This step is followed by a step 52 of loading the reference value which is equal to the value of the pixel whose processing is in progress. This information consists of an 8-bit word representative of one of the 256 brightness levels received by the photosensitive element corresponding to the word memory processed.

A cette étape succède une étape 53 de recherche locale de sommets qui se poursuit par une étape 54 de calcul de la différence entre le niveau local et la valeur de référence mémorisée à l'étape 52.This step is followed by a step 53 for local search for vertices which is continued by a step 54 for calculating the difference between the local level and the reference value stored in step 52.

A cette étape 54 succède une étape 55 de test sur la valeur de la différence pour déterminer si cette différence est supérieure à une valeur de consigne. Dans l'affirmative le programme sait à l'étape 59 qu'un bord a été trouvé. Dans la négative, le programme se poursuit par l'étape 56 de mémorisation comme pixel de référence du pixel en cours de traitement.This step 54 is followed by a step 55 of testing the value of the difference to determine whether this difference is greater than a set value. If so, the program knows in step 59 that an edge has been found. If not, the program continues with the step 56 of storage as the reference pixel of the pixel being processed.

A cette étape succède une étape de test 57 déterminant s'il s'agit de la fin ou du début d'une ligne par comparaison du compteur du pointeur pixel pour déterminer si celui-ci a atteint la valeur définie fixée à 5000 pour l'exemple, ou non. Dans l'affirmative le programme affiche "bord non détecté" à l'étape 58 en positionnant un sémaphore exploité à l'étape 75 de la figure 7, et dans la négative le programme se reboucle avant l'étape 53 de recherche de sommet local.This step is followed by a test step 57 determining whether it is the end or the beginning of a line by comparing the counter of the pixel pointer to determine whether it has reached the defined value set at 5000 for the example, or not. In the affirmative, the program displays "edge not detected" in step 58 by positioning a semaphore used in step 75 of FIG. 7, and in the negative the program loops before step 53 of search for local vertex .

La consigne de l'étape 55 correspond en général à la distance qui sépare en moyenne un sommet d'une vallée et, comme on peut le voir sur le diagramme de la figure 9, le programme de la figure 5 permet de détecter comme un bord le sommet Ys0 puis, comme on le verra plus tard, lors du traitement de la vallée, s'apercevant que la distance d1 entre le sommet et la vallée suivante étant inférieure à une autre consigne et le pourcentage de variation des sommets étant supérieur à une valeur déterminée, il considère qu'il ne s'agit pas du bord de la barquette et détecte le sommet suivant YS1 comme étant le bord effectif de la barquette.The setpoint of step 55 generally corresponds to the distance which separates on average a summit of a valley and, as can be seen in the diagram in FIG. 9, the program in FIG. 5 makes it possible to detect as an edge the vertex Ys0 then, as we will see later, during the processing of the valley, noticing that the distance d1 between the summit and the next valley being less than another setpoint and the percentage of variation of the vertices being greater than one determined value, it considers that it is not the edge of the tray and detects the next vertex YS1 as being the effective edge of the tray.

La séquence 318 d'analyse et de comptabilisation des produits entre les bords correspond aux étapes représentées à la figure 6 qui commencent par une étape (61) de lecture d'un pixel pour se poursuivre par une étape 62 de test sur le type de séquence. Ce test s'effectue en déterminant si la différence entre le pixel en cours de traitement et le pixel précédent est positive ou négative et dans le cas où elle est positive enclenche la séquence de traitement sommet local et dans le cas où elle est négative enclenche la séquence de traitement vallée local. La séquence de traitement sommet local débute par une étape 63 de mesure de la distance (dss) entre sommets et se poursuit par une étape 64 de test pour déterminer si cette distance (dss) est supérieure à une valeur minimum. Dans le cas négatif, le programme se poursuit par l'étape 641 de traitement du pixel suivant et se reboucle entre les étapes 61 et 62 de test du type de séquence. Dans le cas affirmatif, si la distance (64) est supérieure à la distance minimum, la distance entre sommets étant représentée sur le graphique 9 par la valeur dss, le programme se poursuit par une étape 65 de calcul du pourcentage de variation des sommets qui détermine l'information (ys2 - ys1)x100/ys1 et s'assure à l'étape suivante 66 que cette variation est supérieure ou non à une consigne. Dans le cas affirmatif, le programme se poursuit par une étape 691 de test pour déterminer si la variation est négative. si elle est négative, le programme se reboucle avant l'étape 61 de lecture d'un pixel. Si la variation est positive, le programme se poursuit par une étape 692 de test consistant à lire le contenu du compteur du nombre de produits et à déterminer si le contenu de ce compteur est inférieur à 3. Si la réponse est négative, le programme se reboucle avant l'étape 61 de lecture d'un pixel. Si la réponse est affirmative, le programme se poursuit par une étape (693) de recalage du bord en considérant que le sommet traité est en fait le véritable bord de la barquette. Ceci correspond exactement à la situation où dans un premier temps le programme a détecté ys0 et qu'ensuite en détectant ys1 il constate que la variation pour ys1 est supérieure à la consigne de l'étape 66 et ensuite, vérifiant que le nombre de produits est inférieur à 3, il considère que ys1 est le véritable bord de l'ensemble de produits à compter. Cette étape 693 permet en même temps de positionner un sémaphore qui sera utilisé dans l'étape 75 de la séquence de la figure 7. Si la variation est inférieure à la consigne, le programme à l'étape 67 valide le sommet en incrémentant un compteur qui comptabilise les sommets.The sequence 318 for analyzing and counting the products between the edges corresponds to the steps represented in FIG. 6 which begin with a step (61) for reading a pixel and then continue with a step 62 for testing on the type of sequence . This test is carried out by determining whether the difference between the pixel being processed and the previous pixel is positive or negative and, if it is positive, triggers the local top processing sequence and if it is negative triggers the local valley processing sequence. The local vertex processing sequence begins with a step 63 for measuring the distance (dss) between vertices and continues with a test step 64 to determine if this distance (dss) is greater than a minimum value. In the negative case, the program continues with step 641 of processing the next pixel and loops back between steps 61 and 62 of testing the type of sequence. In the affirmative case, if the distance (64) is greater than the minimum distance, the distance between vertices being represented on graph 9 by the value dss, the program continues with a step 65 of calculation of the percentage of variation of the vertices which determines the information (ys2 - ys1) x100 / ys1 and ensures in the next step 66 that this variation is greater than a setpoint or not. In the affirmative case, the program continues with a test step 691 to determine whether the variation is negative. if it is negative, the program loops before step 61 of reading a pixel. If the variation is positive, the program continues with a test step 692 consisting in reading the content of the counter for the number of products and in determining whether the content of this counter is less than 3. If the answer is negative, the program loops before step 61 of reading a pixel. If the answer is yes, the program continues with a step (693) of readjusting the edge, considering that the treated vertex is in fact the real edge of the tray. This corresponds exactly to the situation where at first the program has detected ys0 and then by detecting ys1 it finds that the variation for ys1 is greater than the setpoint of step 66 and then, verifying that the number of products is less than 3, it considers that ys1 is the real edge of the set of products to be counted. This step 693 allows at the same time positioning a semaphore which will be used in step 75 of the sequence in FIG. 7. If the variation is less than the setpoint, the program in step 67 validates the vertex by incrementing a counter which counts the vertices.

Cette étape 67 est suivie d'un saut au séquenceur de vallée locale en renvoyant donc le programme avant l'étape 62 pour traiter une vallée locale selon la séquence ci-après. Ce traitement commence toujours par le test (62) sur le type de séquence et se poursuit ensuite par une étape de mesure de la distance sommet-vallée (dsv) et de la distance vallée-vallée (dvv). A cette étape 621 succède une étape de test 622 permettant de déterminer si les deux distances sont correctes par rapport à des valeurs de référence. Dans la négative le programme se poursuit par le traitement du pixel suivant représenté à l'étape 625 et se reboucle avant l'étape 62. Dans l'affirmative, si les distances sont correctes le programme se poursuit par une étape 623 de validation de la vallée qui consiste à incrémenter un compteur de vallée. Cette étape est suivie d'une étape 623 de traitement d'un sommet local en rebouclant le programme entre les étapes 61 et 62.This step 67 is followed by a jump to the local valley sequencer, therefore returning the program before step 62 to process a local valley according to the sequence below. This processing always begins with the test (62) on the type of sequence and then continues with a step of measuring the summit-valley distance (dsv) and the valley-valley distance (dvv). This step 621 is followed by a test step 622 making it possible to determine whether the two distances are correct with respect to reference values. If not, the program continues with the processing of the next pixel represented in step 625 and loops back before step 62. If so, if the distances are correct the program continues with a step 623 of validation of the valley which consists of incrementing a valley counter. This step is followed by a step 623 of processing a local vertex by looping the program between steps 61 and 62.

Après cette séquence d'analyse et comptabilisation des produits pour chaque balayage où le nombre de produits comptés est mémorisé à l'étape 319 pour chaque balayage, le programme exécute une séquence (35) de traitement des résultats. Lorsque le programme a déterminé qu'il s'agissait d'une étape de fin de cycle à l'étape 34 de la figure 3, il effectue la séquence 35 de traitement des résultats qui correspond à la séquence d'étapes de la figure 7. Lors de ce traitement, le programme commence par effectuer une étape 71 de tri des résultats par ordre croissant puis construit, à l'étape 72, un histogramme des résultats et recherche à l'étape 73 la plus grande occurrence entre les résultats.After this sequence of analysis and accounting of the products for each scan where the number of products counted is stored in step 319 for each scan, the program executes a sequence (35) for processing the results. When the program has determined that it is an end of cycle step in step 34 of FIG. 3, it performs the sequence of processing of the results which corresponds to the sequence of steps of FIG. 7 During this processing, the program begins by carrying out a step 71 of sorting the results in ascending order and then constructs, at step 72, a histogram of the results and searches at step 73 for the largest occurrence between the results.

Ainsi, sur la centaine de balayages, il va pouvoir déterminer par exemple, que le chiffre 450 revient le plus souvent par rapport au chiffre 439, 440, 445, et retenant ce chiffre 450, il va examiner à l'étape 74 le taux de réussite par rapport à une valeur de taux de référence. Dans le traitement un taux de réussite assez important a été choisi mais cette consigne peut éventuellement être modifiée . Si par exemple la valeur 450 revient plus de 7 fois sur 8 comptages, le programme considère que la valeur de taux de référence a été atteinte et le programme se poursuivra par une étape de test (75) pour savoir s'il y a eu une bonne détection des extrémités. Cette étape 75 consiste à lire le sémaphore qui aura été positionné au cours de l'étape 693 indiquant que les bords ont effectivement bien été détectés. Dans le cas négatif, l'étape 751 signale une mauvaise détection des bords correspondant à l'étape 50 et se termine par l'affichage (792) "pas de carte trouvée". Dans l'affirmative, la séquence se poursuit par une étape 76 de test sur la détection de la saturation des capteurs photosensibles. Dans l'affirmative, l'étape 771 indique qu'il y a trop de luminosité et se termine par un affichage "trop de lumière", et dans la négative la séquence se poursuit par une étape 77 de traitement constituant un test pour déterminer si l'information lue avait une bonne netteté. Dans la négative, le dispositif affiche un défaut de contraste et la séquence se termine par un affichage "pas de carte trouvée", dans l'affirmative, le programme se termine par une étape 78 de test sur le nombre de produits pour déterminer si ce nombre est supérieur à zéro. Dans l'affirmative, le programme se termine par l'étape 791 d'affichage du nombre de produits et du taux de réussite.Thus, on the hundred scans, he will be able to determine for example, that the number 450 returns most often compared to the number 439, 440, 445, and retaining this number 450, he will examine in step 74 the rate of success compared to a benchmark rate value. In the treatment, a fairly high success rate was chosen but this instruction can possibly be modified. If for example the value 450 returns more than 7 times on 8 counts, the program considers that the reference rate value has been reached and the program will continue with a test step (75) to find out if there has been a good detection of extremities. This step 75 consists in reading the semaphore which will have been positioned during step 693 indicating that the edges have indeed been detected. In the negative case, step 751 signals a poor detection of the edges corresponding to step 50 and ends with the display (792) "no card found". If so, the sequence continues with a test step 76 on the detection of the saturation of the photosensitive sensors. If so, step 771 indicates that there is too much brightness and ends with a display "too much light", and if not the sequence continues with a processing step 77 constituting a test to determine whether the information read had good clarity. If not, the device displays a contrast defect and the sequence ends with a display "no card found", if so, the program ends with a test step 78 on the number of products to determine if this number is greater than zero. If so, the program ends with step 791 of displaying the number of products and the success rate.

La figure 8 représente une autre variante du dispositif de déplacement mécanique des barquettes sous le faisceau de lecture de façon à pouvoir effectuer une pluralité de balayages transversaux par rapport au sens de déplacement des barquettes (2). Comme on peut le voir, ces barquettes (2) sont montées sur une courroie à taquets (21) elle-même tendue entre deux poulies d'entraînement (22, 23) dont au moins l'une est entraînée en rotation par un moteur électrique alimenté de façon séquentielle après le traitement des 100 lignes de balayage ou du nombre de lignes de balayage souhaité pour atteindre un taux de réussite suffisant.FIG. 8 shows another variant of the device for mechanically moving the trays under the reading beam so as to be able to carry out a plurality of transverse scans with respect to the direction of movement of the trays (2). As can be seen, these trays (2) are mounted on a cleat belt (21) itself stretched between two drive pulleys (22, 23) at least one of which is rotated by an electric motor fed sequentially after processing the 100 scan lines or the desired number of scan lines to achieve a sufficient success rate.

D'autres modifications à la portée de l'homme de métier font également partie de l'esprit de l'invention.Other modifications within the reach of the skilled person are also part of the spirit of the invention.

Claims (12)

Dispositif de comptage de produits (1) peu épais empilés côte-à-côte et rangés sur champ en barquettes (2) emballées sous film rétractable translucide, caractérisé en ce qu'il comporte : - des moyens (7) d'éclairer la barquette ; - des moyens (91) de détecter la mise en place d'une barquette sur une navette (81, 21) mobile animée d'un mouvement de déplacement ; - des moyens (4, 5, 6) d'effectuer une pluralité de balayages de la barquette par un faisceau linéaire de lecture d'une caméra linéaire pendant le mouvement de déplacement de direction perpendiculaire au faisceau linéaire ; - des moyens de mémorisation des informations lumineuses contenues dans le faisceau linéaire et - des moyens de comptage pour chaque balayage du nombre de produits. Device for counting thin products (1) stacked side by side and stored on the field in trays (2) packed in translucent shrink film, characterized in that it comprises: - Means (7) for lighting the tray; - Means (91) for detecting the placement of a tray on a mobile shuttle (81, 21) driven by a movement of movement; - Means (4, 5, 6) for carrying out a plurality of scans of the tray by a linear reading beam from a linear camera during the movement of movement of direction perpendicular to the linear beam; means for memorizing the light information contained in the linear beam and - counting means for each scan of the number of products. Dispositif de comptage selon la revendication 1, caractérisé en ce que le mouvement de déplacement de la navette est un mouvement de va et vient obtenu par un moteur électrique dont l'arbre d'entraînement (80) est relié par un mécanisme (85) de transformation du mouvement rotatif en mouvement linéaire transmis à la navette (81) rendue solidaire de colonnes (84) de guidage linéaire.Counting device according to claim 1, characterized in that the movement of movement of the shuttle is a reciprocating movement obtained by an electric motor whose drive shaft (80) is connected by a mechanism (85) of transformation of the rotary movement into a linear movement transmitted to the shuttle (81) made integral with linear guide columns (84). Dispositif de comptage selon la revendication 1, caractérisé en ce que le mouvement de la barquette (2) est obtenu par une courroie (21) à taquets supportant une pluralité de barquettes entraînées d'un mouvement continu de direction transversale au faisceau linéaire de lecture.Counting device according to claim 1, characterized in that the movement of the tray (2) is obtained by a belt (21) with tabs supporting a plurality of trays driven in a continuous movement of direction transverse to the linear reading beam. Dispositif de comptage selon une des revendications 1 à 3, caractérisé en ce qu'un bouton poussoir actionnable par l'utilisateur déclenche un déplacement et au cours de ce déplacement la pluralité de balayages.Counting device according to one of claims 1 to 3, characterized in that a push button actuatable by the user triggers a displacement and during this displacement the plurality of scans. Dispositif de comptage selon une des revendications 1 à 4, caractérisé en ce que les moyens de mémorisation sont constitués par autant d'octets mémoire que d'éléments photosensibles d'une barrette (41) de lecture de la caméra.Counting device according to one of claims 1 to 4, characterized in that the storage means consist of as many memory bytes as photosensitive elements of a bar (41) for reading the camera. Dispositif de comptage selon la revendication 5, caractérisé en ce que le nombre d'éléments photosensibles est au moins supérieur au double du nombre maximum d'objets que le dispositif peut compter.Counting device according to claim 5, characterized in that the number of photosensitive elements is at least greater than twice the maximum number of objects that the device can count. Dispositif de comptage selon la revendication 5, caractérisé en ce que le nombre d'éléments photosensibles est de préférence égal à dix fois le nombre maximum d'objets que le dispositif peut compter.Counting device according to claim 5, characterized in that the number of photosensitive elements is preferably equal to ten times the maximum number of objects that the device can count. Dispositif de comptage selon la revendication 5, caractérisé en ce que chaque élément photosensible permet la détection de 256 niveaux de luminosité traduits en mots d'un octet constituant la représentation d'un pixel.Counting device according to claim 5, characterized in that each photosensitive element allows the detection of 256 brightness levels translated into words of a byte constituting the representation of a pixel. Dispositif de comptage selon une des revendications 1 à 8, caractérisé en ce que le faisceau linéaire est renvoyé par une pluralité de miroirs (5, 6) pour assurer avec un dispositif compact le balayage d'une barquette de grande dimension.Counting device according to one of claims 1 to 8, characterized in that the linear beam is returned by a plurality of mirrors (5, 6) to ensure with a compact device the scanning of a large tray. Dispositif de comptage selon une des revendications précédentes, caractérisé en ce que les moyens de comptage permettent la détection alternativement des sommets et des vallées en commençant par une détection de sommet et le comptage des sommets et des vallées constitutives du signal sinusoïdal mémorisé et représentatif du faisceau linéaire d'un balayage.Counting device according to one of the preceding claims, characterized in that the counting means enable the vertices and valleys to be detected alternately, starting with vertex detection and the counting of the vertices and valleys constituting the stored sinusoidal signal representative of the beam. linear of a scan. Dispositif de comptage selon une des revendications précédentes, caractérisé en ce que la détection des sommets assure la détection du premier bord et la détermination des sommets par mesure de la distance entre le sommet précédent et le pixel en cours de traitement, comparaison de la distance avec une valeur minimale qui correspond à l'épaisseur d'un produit et un calcul de pourcentage de variation du sommet qui permet, en cas de dépassement par rapport à une valeur consigne, de déterminer la présence d'un bord.Counting device according to one of the preceding claims, characterized in that the detection of the vertices ensures the detection of the first edge and the determination of the vertices by measuring the distance between the previous vertex and the pixel being processed, comparison of the distance with a minimum value which corresponds to the thickness of a product and a calculation of the percentage of variation of the vertex which allows, in the event of an overshoot with respect to a setpoint, to determine the presence of an edge. Dispositif de comptage selon une des revendications précédentes, caractérisé en ce que la détection des vallées est effectuée par rapport à un sommet précédent mémorisé en mesurant la distance entre sommet et pixel traité et par rapport à la vallée précédente mémorisée en mesurant la distance entre la vallée et le pixel traité et en retenant le pixel comme formant une vallée si les deux distances sont correctes par rapport à des valeurs de référence et, dans le cas contraire, en traitant le pixel suivant.Counting device according to one of the preceding claims, characterized in that the detection of the valleys is carried out with respect to a previous vertex memorized by measuring the distance between vertex and processed pixel and with respect to the previous valley memorized by measuring the distance between the valley and the processed pixel and retaining the pixel as forming a valley if the two distances are correct with respect to reference values and, if not, processing the next pixel.
EP95400815A 1994-04-11 1995-04-11 Arrangement for optically counting stacked products Expired - Lifetime EP0676718B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9404213 1994-04-11
FR9404213A FR2718550B1 (en) 1994-04-11 1994-04-11 Product counting device.

Publications (2)

Publication Number Publication Date
EP0676718A1 true EP0676718A1 (en) 1995-10-11
EP0676718B1 EP0676718B1 (en) 2002-07-24

Family

ID=9461919

Family Applications (1)

Application Number Title Priority Date Filing Date
EP95400815A Expired - Lifetime EP0676718B1 (en) 1994-04-11 1995-04-11 Arrangement for optically counting stacked products

Country Status (8)

Country Link
US (1) US5686729A (en)
EP (1) EP0676718B1 (en)
JP (1) JPH0887584A (en)
AT (1) ATE221227T1 (en)
CA (1) CA2146718C (en)
DE (1) DE69527460T2 (en)
ES (1) ES2181755T3 (en)
FR (1) FR2718550B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0743616A2 (en) * 1995-05-15 1996-11-20 Eastman Kodak Company Apparatus and method for counting sheets
EP1473666A2 (en) * 2003-04-30 2004-11-03 Datacard Corporation Device for counting stacked objects

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6091792A (en) * 1997-10-31 2000-07-18 Hill; Gregory D. Corrugated sheet counter
US6173607B1 (en) 1998-01-22 2001-01-16 Opsigal Control Systems Ltd. System and method for counting the number of items within a stack
DE19817824A1 (en) * 1998-04-21 1999-10-28 Focke & Co Device for testing units from several individual objects, layers of material or the like
SE516722C2 (en) 1999-04-28 2002-02-19 Hana Barankova Process and apparatus for plasma gas treatment
EP1473665A1 (en) * 2003-04-30 2004-11-03 Kba-Giori S.A. Counting process and device for planar substrates
JP4877445B2 (en) * 2003-09-30 2012-02-15 オムロン株式会社 Counting device
EP1624402A1 (en) * 2004-08-03 2006-02-08 Kba-Giori S.A. Counting stacked documents
FR2895119B1 (en) * 2005-12-19 2008-02-15 Datacard Corp DEVICE FOR COUNTING SMALL SERIES
US20070242870A1 (en) * 2006-04-18 2007-10-18 Nucor Corporation System And Method For Automatically Counting Bundled Items
FR2915601B1 (en) * 2007-04-26 2009-07-03 Datacard Corp DEVICE FOR COUNTING CARDS IN SMALL SERIES.
US8192352B2 (en) * 2009-12-15 2012-06-05 Coloplast A/S Instrument configured to prepare a penis for implantation of a penile prosthetic
US8002692B2 (en) * 2009-12-16 2011-08-23 Coloplast A/S Method of preparing a penis for implantation of a penile prosthetic
AT524451A1 (en) * 2020-11-25 2022-06-15 Westermayer Rainer METHOD OF DETERMINING THE NUMBER OF A QUANTITY OF FLAT OBJECTS STACKED IN A STACK

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0294735A2 (en) * 1987-06-12 1988-12-14 Spartanics, Ltd. Pitch match detecting and counting system
JPH02304690A (en) * 1989-05-19 1990-12-18 Fuji Electric Co Ltd Method for counting stacked platelike substances
WO1991005317A1 (en) * 1989-09-28 1991-04-18 Dynetics Engineering Corporation Card counter with self-adjusting card loading assembly and method
FR2680027A1 (en) * 1991-07-29 1993-02-05 Schlumberger Ind Sa Apparatus for counting memory cards

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3573477A (en) * 1968-09-17 1971-04-06 Delta Engineering Corp Radiation sensitive apparatus for detecting conveyed articles
US4373135A (en) * 1979-12-31 1983-02-08 Spartanics, Ltd. Pitch matching detecting and counting system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0294735A2 (en) * 1987-06-12 1988-12-14 Spartanics, Ltd. Pitch match detecting and counting system
JPH02304690A (en) * 1989-05-19 1990-12-18 Fuji Electric Co Ltd Method for counting stacked platelike substances
WO1991005317A1 (en) * 1989-09-28 1991-04-18 Dynetics Engineering Corporation Card counter with self-adjusting card loading assembly and method
FR2680027A1 (en) * 1991-07-29 1993-02-05 Schlumberger Ind Sa Apparatus for counting memory cards

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PATENT ABSTRACTS OF JAPAN vol. 15, no. 88 (P - 1174) 4 March 1991 (1991-03-04) *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0743616A2 (en) * 1995-05-15 1996-11-20 Eastman Kodak Company Apparatus and method for counting sheets
EP0743616A3 (en) * 1995-05-15 1998-01-14 Eastman Kodak Company Apparatus and method for counting sheets
EP1473666A2 (en) * 2003-04-30 2004-11-03 Datacard Corporation Device for counting stacked objects
FR2854476A1 (en) * 2003-04-30 2004-11-05 Datacard Inc DEVICE FOR COUNTING STACKED PRODUCTS
US7045765B2 (en) 2003-04-30 2006-05-16 Datacard Corporation Device for counting stacked products
EP1473666A3 (en) * 2003-04-30 2009-04-01 Datacard Corporation Device for counting stacked objects

Also Published As

Publication number Publication date
US5686729A (en) 1997-11-11
DE69527460D1 (en) 2002-08-29
FR2718550A1 (en) 1995-10-13
EP0676718B1 (en) 2002-07-24
JPH0887584A (en) 1996-04-02
ES2181755T3 (en) 2003-03-01
ATE221227T1 (en) 2002-08-15
CA2146718A1 (en) 1995-10-12
FR2718550B1 (en) 1996-07-26
CA2146718C (en) 2004-12-07
DE69527460T2 (en) 2003-03-06

Similar Documents

Publication Publication Date Title
EP0676718B1 (en) Arrangement for optically counting stacked products
FR2631476A1 (en) METHOD AND DEVICE FOR READING A BAR CODE ON A SUBSTANTIALLY IMMOBILE SUPPORT
FR2635208A1 (en) ARTICLE, IN PARTICULAR LABEL, HAVING INFORMATION CODED BY POLYGONES, AND METHOD AND SYSTEM FOR CODING AND READING THIS ARTICLE
CN1047842C (en) A method and device for detecting the position for a crease line of a packaging web
EP0129450B1 (en) Process and apparatus for the detection and quantification of agglutinates
KR101158134B1 (en) Optical inspection for container lean
EP0034088B1 (en) Apparatus for the identification of objects such as bottles
US8184294B2 (en) Apparatus and method for measuring haze of sheet materials or other materials
JPH07508366A (en) Method and device for identifying and counting currency
US20090303478A1 (en) Apparatus for producing optical signatures from coinage
CH620535A5 (en)
EP1115085A1 (en) Barcode reader with a two dimensional sensor and adjustable scanning
FR2915601A1 (en) Thin product e.g. chip card, counting device, has calculation unit for calculating number of products by intercorrelation using pattern, to determine number of patterns corresponding to number of products by histogram
JPH0147721B2 (en)
EP0046430A1 (en) Method for real-time detection and quantification of agglutinates
EP1473666A2 (en) Device for counting stacked objects
FR2631724A1 (en) COLONY COUNTING APPARATUS
JPH01501507A (en) fingerprint identification device
EP0821565A1 (en) Device for estimating in vivo skin wrinkling, and method therefor
JP3639176B2 (en) Imaging apparatus alignment system and method
JP2001092916A (en) Recognizing device for optical reflecting element and recognizing device for storage medium
FR2632728A1 (en) Method and apparatus for automatic determination of the behaviour of a drop of a liquid with respect to a surface of a material
FR2508679A1 (en) METHOD FOR IDENTIFYING AN OBJECT AND MEASURING ITS POSITION AND ORIENTATION, AND DEVICE FOR IMPLEMENTING SAID METHOD
EP0115236A1 (en) Reading head for bar code, analysing apparatus with such a head and card for adjusting this apparatus
EP1479044A2 (en) Method for measuring the location of an object by phase detection

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE CH DE ES FR GB IT LI MC

17P Request for examination filed

Effective date: 19960216

17Q First examination report despatched

Effective date: 19990415

GRAG Despatch of communication of intention to grant

Free format text: ORIGINAL CODE: EPIDOS AGRA

GRAG Despatch of communication of intention to grant

Free format text: ORIGINAL CODE: EPIDOS AGRA

GRAH Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOS IGRA

GRAH Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOS IGRA

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AT BE CH DE ES FR GB IT LI MC

REF Corresponds to:

Ref document number: 221227

Country of ref document: AT

Date of ref document: 20020815

Kind code of ref document: T

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

Free format text: NOT ENGLISH

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

REF Corresponds to:

Ref document number: 69527460

Country of ref document: DE

Date of ref document: 20020829

GBT Gb: translation of ep patent filed (gb section 77(6)(a)/1977)

Effective date: 20021101

REG Reference to a national code

Ref country code: ES

Ref legal event code: FG2A

Ref document number: 2181755

Country of ref document: ES

Kind code of ref document: T3

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed

Effective date: 20030425

BECA Be: change of holder's address

Owner name: *DATACARD CORP.11111 BREN ROAD WEST, MINNETONKA, M

Effective date: 20040426

REG Reference to a national code

Ref country code: CH

Ref legal event code: PUE

Owner name: DATACARD CORPORATION

Free format text: GILLES LEROUX S.A.#96, AVENUE EUGENE MILON, BP 1#F-45470 LOURY (FR) -TRANSFER TO- DATACARD CORPORATION#11111 BREN ROAD WEST#MINNETONKA, MN 55343-9015 (US)

Ref country code: CH

Ref legal event code: NV

Representative=s name: R. A. EGLI & CO. PATENTANWAELTE

REG Reference to a national code

Ref country code: GB

Ref legal event code: 732E

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: MC

Payment date: 20080219

Year of fee payment: 14

Ref country code: GB

Payment date: 20080227

Year of fee payment: 14

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: ES

Payment date: 20080416

Year of fee payment: 14

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: BE

Payment date: 20080312

Year of fee payment: 14

Ref country code: AT

Payment date: 20080326

Year of fee payment: 14

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: IT

Payment date: 20080415

Year of fee payment: 14

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: CH

Payment date: 20080725

Year of fee payment: 14

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20090429

Year of fee payment: 15

BERE Be: lapsed

Owner name: *DATACARD CORP.

Effective date: 20090430

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 20090411

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LI

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20090430

Ref country code: CH

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20090430

Ref country code: AT

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20090411

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MC

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20090430

Ref country code: GB

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20090411

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: BE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20090430

REG Reference to a national code

Ref country code: ES

Ref legal event code: FD2A

Effective date: 20090413

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: ES

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20090413

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 20100412

Year of fee payment: 16

REG Reference to a national code

Ref country code: FR

Ref legal event code: ST

Effective date: 20101230

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IT

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20090411

REG Reference to a national code

Ref country code: DE

Ref legal event code: R119

Ref document number: 69527460

Country of ref document: DE

REG Reference to a national code

Ref country code: DE

Ref legal event code: R119

Ref document number: 69527460

Country of ref document: DE

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FR

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20100430

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20111031