Abstract:
A computer-implemented method includes receiving a container image including container content characteristic information. The illustrative method further includes analyzing the container content characteristic information and determining the identity of the container contents based on the container characteristic information. Also, the method includes transmitting container content identity information for printing a bar code relating to the container content identity information. The method additionally includes generating a bar code based on the container content identity information. The illustrative method also includes printing a label including the bar code relating to at least the container content identity information.

Description:
TECHNICAL FIELD 
     The illustrative embodiments generally relate to a method and apparatus for labeling goods. 
     BACKGROUND 
     Modern harvesting is a synergy of manpower and machine power. As human harvesters move through fields gathering vegetables, they work in conjunction with massive packing machines that allow for rapid collection and processing of boxes of produce. Workers load the harvest into individual boxes, according to a particular plan for that product, and then the boxes are loaded onto the packing machine. 
     In at least one example, the packing machine is equipped with a conveyor belt that conveys the boxes to a common location for stacking and/or labeling. In existing systems, a grid on the boxes may be marked with, for example, a grease pen. The mark in the gird can denote which type of produce is in the box (and possibly how much of the produce), based on, for example, row and column correspondence. Once the box has been marked and packed with goods, it can be stacked for later processing at a warehouse. 
     SUMMARY 
     In a first illustrative embodiment, a computer-implemented method includes receiving, via a vision system, a container image including container content characteristic information. The illustrative method further includes analyzing, via a vision system, the container content characteristic information and determining the identity of the container contents based on the container characteristic information. 
     Also, in this embodiment, the method includes transmitting container content identity information for printing a bar code relating to the container content identity information. The method additionally includes generating a bar code based on the container content identity information. 
     The illustrative method also includes printing a label including the bar code relating to at least the container content identity information. 
     In a second illustrative embodiment, an apparatus includes a camera, operable to obtain an image of at least a portion of a container in motion along a belt and to determine information relating to contents of the container from the image. The illustrative apparatus also includes a printer, operable to print at least a bar code label, and in direct communication with the camera. 
     In this embodiment, the camera is further operable to relay the determined information relating to the contents of the container to the printer. Also, in this embodiment, the printer is operable to process the information relayed from the camera to generate a bar code relating to the contents of the container. According to this embodiment, the printer is operable to print the generated bar code relating to the contents of the container. 
     In a third illustrative embodiment, a processing system includes a field packaging vehicle, operable to receive boxes on a conveyor system included therewith, and convey the boxes along the belt. The illustrative system also includes a vision system camera, operable to view at least a marked portion of the boxes as the boxes are conveyed along the belt. The illustrative system further includes a printer, operable to print bar code labels and in communication with the camera. 
     In this exemplary system, the conveyor system is operable to convey received boxes past a viewing lens of the vision system camera. Also, in this system, the vision system camera is operable to determine information relating to the contents of the boxes from the marked portion and to convey the information directly to the printer. According to this illustrative system, the printer is operable to encode information relating to the contents of the box into a label printable by the printer for application to the box. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The examples and figures shown herein are provided for illustrative purposes only, and are not intended to limit the scope of the invention. Further understanding of illustrative embodiments can be gained by referral to the Figures, in which: 
         FIG. 1A  shows an exemplary schematic of a vision system operable to produce barcodes for product labeling; 
         FIG. 1B  shows an exemplary vision system working in conjunction with a packing machine; 
         FIG. 2  shows an illustrative example of a marking designation for a box; 
         FIG. 3A  shows an illustrative example of a process for imaging a box marking; 
         FIG. 3B  shows an illustrative example of a process for interpreting a grid position of a mark; 
         FIG. 4A  shows an illustrative example of analyzing a box marking image and preparing a label; 
         FIG. 4B  shows a further illustrative example of preparing a label; 
         FIG. 5  shows an illustrative example of an initialization process; and 
         FIG. 6  shows one example of an alternative input device. 
     
    
    
     DETAILED DESCRIPTION 
     The illustrative examples presented herein are shown for purposes of example only, and are not intended to limit the scope of the invention thereto. Alternatives to steps and/or elements of the processes and apparatuses hereby disclosed are contemplated to also be within the scope of the invention. 
     The illustrative embodiments present a vision system operable to work in conjunction with a packing machine or harvester operating in the field. Through application of the illustrative embodiment, products can be swiftly and accurately labeled with barcodes in the field. By barcoding the products, faster and more accurate processing later in the production process may be possible. 
     In a first illustrative embodiment, shown in  FIG. 1A , a camera  100  works in conjunction with a label printer  110 . Although shown as separate entities, it may be possible to combine the camera and laser printer into a single device and still accomplish the illustrative methods described herein. In this illustrative example, a COGNEX vision camera is used, although any suitable camera outfitted with the capability to communicate with a label output device may be used. Additionally, in this embodiment, also as an illustrative example, an INTERMEC barcode label printer is used in conjunction with the camera. Again, any label printer with capability of interacting with a vision system may be used. 
     Deployment of the camera and printer in one illustrative example is shown in more detail in  FIG. 1B . As can be seen in  FIG. 1B , the camera may be deployed so that it is capable of viewing boxes that move down a conveyor. As the camera images the box, it sends a signal to the printer and a label corresponding to the markings indicating box contents may be printed for application to the box. 
     In one illustrative embodiment, the vision system camera is suitable for deployment in a working field environment. It may be equipped with a lens  107 , capable of imaging a box, for example, as the box moves along a conveyor belt. The image may be conveyed from the lens to a memory  103  and/or an internal CPU  105  within the camera. If the camera is equipped with both a memory and a CPU, the memory and CPU may also be capable of bi-directional communication. In this illustrative embodiment, processing of the image taken by the camera is split between the printer and the camera, but this is shown for illustrative purposes only. 
     Although this example shows an instance where the camera does a first processing step and the printer does a second processing step, it would also be possible to perform the processing steps within the printer or within the camera, and it would further be possible to combine the two devices into a single device capable of performing the processing steps detailed herein. 
     In addition to the vision systems camera  100 , this illustrative system includes a label printer  110 . In this example, the printer is capable of printing barcode labels at a high enough speed that they can be removed and applied to boxes that move along a conveyor belt, although any printer suitable for the task at hand and capable of meeting operator needs may be used. 
     The printer in this example is also equipped with a CPU  111  in communication with a memory  113  and an output  115 . The output may further be in communication with the memory  113 . In this example, the output  115  refers to the print head (or other printing mechanism) that outputs the printed labels under instructions from the processor. 
     Working in conjunction, the camera and printer can operate to smoothly and efficiently read markings on boxes in the field and produce labels in a rapid and suitable manner so that the boxes can be labeled with the labels for later processing. One illustrative example of the system in application is shown with respect to  FIG. 1B . 
     In the illustrative example shown in  FIG. 1B , a printer  121  is seated on a platform  129  over a conveyor belt  125 . In this illustrative example, the conveyor belt is provided as part of a packaging apparatus that travels in the field with harvesting workers. As boxes of produce are picked and filled, they are loaded on to the conveyor belt. They pass down the belt and through the portion  127 . 
     As the boxes leave the portion preceding the platform, the camera  123  can see the forward facing portion of the box. The camera is mounted such that it can see the exit of the portion  127 , and can capture an image of the box as it leaves that portion. The camera is in communication with the printer  121 , and is operable to relay information about the box image to the printer. 
     Once the box image has been processed, either by the camera, the printer, or by a combination of both, a label  131  is printed. The label can then be applied to the box as it rolls beneath the printer, allowing efficient labeling of the box with a pre-printed label corresponding to the contents of the box. Since the printer can dynamically adapt to markings on the box indicating contents, the packaging machine may be able to work its way through different types of crops and different packing of boxes without having to retool or reconfigure the printer/camera. 
       FIG. 2  shows an illustrative example of a marking designation for a box. This marking  200  comes in the form of a grid in this illustrative embodiment. The grid may be pre-printed on to the boxes, and columns in the grid  201  may represent a produce type, and rows in the grid  203  may represent a produce quantity. Any other suitable designations may be assigned to the rows and columns, with points where rows and columns meet designating a particular combination of item and quantity. 
     The grid may be easily marked with a dot  205 . In this illustrative example, the dot  205  is a sticker that can be placed in the appropriate location, and that is detectable by the vision system. Any suitable means of marking the packaging can be used, provided that the marking can be detected by the vision system. 
     Since the dots are applied by hand, in this example, there may be overlap between rows and columns, due to misplacement of dots. Dot  207  is a dot that has been overlapped between two columns. Dot  209  is a dot that has been overlapped between two rows, and dot  211  is a dot that has been overlapped between both columns and rows. 
     Although the dots  207 ,  209  and  211  are not squarely within a row column designation, the processing software that analyzes the image of the grid may be operable to determine which is the most likely column and/or row to which the dot or other marking applies. In this manner, even if a marking is misplaced, the system should be able to continue to function. 
       FIG. 3A  shows an illustrative example of a process for imaging a box marking. In this illustrative example, the process is run within the camera, but the process could also be run within a printer in communication with the camera. In this illustrative process, the camera first images the grid on the box as it passes through the viewing field of the camera  301 . Other suitable designators on the box could also be imaged. 
     Once the image is obtained, the process next checks to see if there is a marking that corresponds to box contents  303 . In this particular example, the marking is a dot on a grid designating a produce type and a number of produce, but any suitable designation can be used depending, for example, on box contents and working environment. 
     If there is no marking, or, in this example, if the marking is indistinguishable or the designation cannot be determined (if, for example, the marking is not clearly in a particular row or column), then the process may generate an error message  305 . Otherwise, if there is an understandable designation of box contents, the process determines which position on the grid is occupied by the marking  307 . Once a grid position has been determined, the process may translate that marking into a form that is understandable by the printer  309 . 
     In another illustrative embodiment, the grid position (without the translation) may be transferred to the printer. 
     In this illustrative embodiment, the translated grid coordinates are transferred to the printer  311 . If an error message was generated, due, for example, to a marking problem, then that information may be transferred to the printer additionally or alternatively  311 . 
       FIG. 3B  shows an illustrative example of a process for interpreting a grid position of a mark. This is just one example of how the process shown in  3 B may interpret an image of a grid viewed on a box. In this illustrative example, once it has been determined that there is a marking on the grid  303 , the process checks to see if there is a clear column to which the marking corresponds  321 . If there is no clear column, the process may engage in some additional logic to determine a likely candidate  323 , such as, but not limited to, selecting a column with the highest portion of the dot therein. 
     Once the process has been completed for the column, it is then repeated for determining the row in which the dot lies. In this embodiment, the process checks to see if there is a clear row in which the marking lies  325 . If the row is unclear, the process may again employ some logic for determining which row is likely the designated row  327 . 
     The process described above is merely an exemplary process for determining a marking position and any suitable replacement is also within the scope of the invention. 
       FIG. 4A  shows an illustrative example of analyzing a box marking image and preparing a label. In this illustrative example, the process is performed by the printer, having received data from a camera. In another example, the camera could perform the process of FIG.  4 A, or a similar process could be performed by the printer or the camera to produce the results described herein. 
     In this illustrative embodiment, the process receives a marking location from the camera  401 . In this embodiment the location is in the form of a matrix location, but any suitable format would be acceptable. The matrix location is a location that designates the marking that was read from the box. The matrix location received from the camera, in this embodiment, is cross-referenced with a look-up table to determine the characteristics of the product in the box  403 . Although a matrix location is used here and cross referenced with a look-up table, any suitable manner of processing a marking to determine box contents could be used. Once the product has been determined from a lookup, a database, a data repository access, etc., the information relating to the product can be converted into a bar-code format and transferred to a label  405 . 
     In this illustrative example, if there was an error reading the marking on the box, a “no read” signal may have been present  407 . Other suitable error condition signals may also be used, including a plurality of signals designating different errors depending on an actual error that occurred. 
     In this embodiment, if a “no read” or other error signal has been detected, an error label is printed  411  so that the operator knows that an error has occurred. In another example, the printer or camera or other suitable device may indicate in another manner to the operator that a visual read of the box marking was unsuccessful (or any other suitable error designation corresponding to an occurring error). 
     If there was no error, then, in this illustrative example, the printer prints a label  409  and the label can be affixed to the box. In this embodiment, after printing an error code and/or after printing a label, the machine may wait briefly to determine if the operator wishes to manually scan an entry (to produce a replacement label, for example). In one illustrative instance, an unreadable box may have come through the machine, and the operator, after receiving an error message, may wish to manually input label data so that the box can be labeled. 
     In one illustrative example, the manual input of label data can be done through a quick scan of a bar-code corresponding to a label to be printed. The bar-code is then used to generate the label, and the label can be printed and applied to the box. Even when a label prints, this technique may be used, because it is possible that an improper label could have printed. 
     If there is no backup scan to be done  413 , the process exits and moves on to the next box to be processed. 
       FIG. 4B  shows a further illustrative example of preparing a label. In this illustrative example, the printer has received data from the camera in the form of a matrix. Again, in this example, the matrix was derived from the image the camera took of the markings and grid on a box passing in front of the camera. 
     One the matrix has been received  401 , the process associates a location in the matrix with an association in a lookup table  421 . This is one illustrative example of data retrieval, any known suitable method will suffice. Once the entry in the lookup table has been determined, the illustrative process retrieves data relating to the boxed product from the entry  423 . This data may be used to produce a label that can be used to label the boxed product. 
     Once the data has been retrieved from the entry, there may also be additional data to consider  425 . In this embodiment, the operator may have input some base information to be affiliated with all the boxes or a run of boxes. In another embodiment, there may be some preprogrammed information that also needs to be included with the labels to be placed on the boxes. 
     This illustrative process retrieves the setup or common data, and maps the lookup table data and the setup data to a bar code format  427 . The mapping to the bar code format can be done using known techniques for translating data to a bar code. Once all the relevant data has been mapped to a bar code format, the label can be printed for application to the product box. 
       FIG. 5  shows an illustrative example of an initialization process. In this illustrative example, an operator desires to input data into the printer for processing in conjunction with the box scans. The printer may have, for example, a bar code scanner or other input device attached thereto. In this embodiment, the printer begins an initialization procedure  501 . This procedure may expect some input from a user after activation. 
     In this example, the printer waits until a signal from the attached bar code scanner is received  503 . The scanner input may come from a reading of an external bar code, for example, that allows the operator to easily input data for use by the printer. Once the data has been received, the printer stores the data as setup data  505  to be used with the next batch of boxes to be processed, for example. 
       FIG. 6  shows one example of an alternative input device. In addition to receiving input from a vision systems camera, the printer may receive input from alternative devices. These devices may include, but are not limited to, hand scanners, button input devices, etc. 
     One illustrative example of a button input device is shown with respect to  FIG. 6 . In this illustrative embodiment, the device includes a plurality of buttons that are pre-programmed to correspond to varying types of product. 
     For example, in one illustrative embodiment, a device operator may program the buttons  601  at the onset of operations. When a particular product comes down a conveyor belt, in one embodiment, the operator may select a button  601  corresponding to that product. 
     Selection of a button, in this embodiment, causes activation of an electric signal  603  corresponding to the particular button. The signal is received by the printer, and, based on the particular signal that was activated, the printer knows the product for which to print a label. Appropriate label data is then aggregated by the printer, if necessary, and a label corresponding to the product is produced. 
     In one embodiment, each button corresponds to a particular electric line between an input button box and the printer. Activation of a particular button causes activation of a particular line. Accordingly, the box itself, in this embodiment, merely provides the signal to the printer, which the printer then interprets based on previously defined input. 
     Alternatively, the box may have more complex electronics associated therewith, and in another embodiment, the identification of the product may be done in the button input box and corresponding identification may be transmitted to the printer. 
     As with the printer shown in  FIG. 1 , the printer in this illustrative embodiment may have a processor  111  associated therewith. The printer may also have a memory  113 , which may include at least information about the particular signals to be received from the input box. Further, the printer may be capable of printing a bar-code label having relevant product information encoded thereon. 
     Although the invention is described in terms of illustrative embodiments, these are provided as examples only and are not intended to limit the scope of the invention in any manner. 
     As required, detailed embodiments of the present invention are disclosed herein; however, it is to be understood that the disclosed embodiments are merely exemplary of the invention that may be embodied in various and alternative forms. The figures are not necessarily to scale; some features may be exaggerated or minimized to show details of particular components. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a representative basis for teaching one skilled in the art to variously employ the present invention. 
     While exemplary embodiments are described above, it is not intended that these embodiments describe all possible forms of the invention. Rather, the words used in the specification are words of description rather than limitation, and it is understood that various changes may be made without departing from the spirit and scope of the invention. Additionally, the features of various implementing embodiments may be combined to form further embodiments of the invention.