US8736914B2 - Image scanning apparatus and methods of using the same - Google Patents

Image scanning apparatus and methods of using the same Download PDF

Info

Publication number
US8736914B2
US8736914B2 US13/731,757 US201213731757A US8736914B2 US 8736914 B2 US8736914 B2 US 8736914B2 US 201213731757 A US201213731757 A US 201213731757A US 8736914 B2 US8736914 B2 US 8736914B2
Authority
US
United States
Prior art keywords
image
image sensor
sensor
housing
aperture
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.)
Expired - Fee Related
Application number
US13/731,757
Other versions
US20130182294A1 (en
Inventor
Christopher Ian French
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.)
RJS TECHNOLOGIES Inc
RJS TECHNOLOGIES Inc
Original Assignee
RJS TECHNOLOGIES Inc
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 RJS TECHNOLOGIES Inc filed Critical RJS TECHNOLOGIES Inc
Priority to US13/731,757 priority Critical patent/US8736914B2/en
Publication of US20130182294A1 publication Critical patent/US20130182294A1/en
Assigned to RJS TECHNOLOGIES INC reassignment RJS TECHNOLOGIES INC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: FRENCH, CHRISTOPHER I
Application granted granted Critical
Publication of US8736914B2 publication Critical patent/US8736914B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/146Methods for optical code recognition the method including quality enhancement steps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1473Methods for optical code recognition the method including quality enhancement steps error correction

Definitions

  • the present invention relates to the field of image scanning and processing and, more particularly, to the use of image scanning and processing in the area of image verification and quality testing.
  • Barcodes are used throughout supply chains to identify objects, collect data about objects, and enter data into computer systems. There are many different types of barcodes, but can generally group them into two categories: Linear, or one-dimensional barcodes, and 2D or two-dimensional barcodes.
  • One dimensional barcodes provide information along one axis, similar to a standard alphanumeric sentence.
  • Two dimensional barcodes provide information along two axes, similar to a matrix.
  • the barcodes in use must be of sufficient quality such that barcode readers can decipher them. Accordingly, users of barcodes have created standards bodies that have promulgated various standards to insure that barcodes meet certain quality requirements.
  • Barcode verification is the process by which barcodes are examined to determine whether or not barcodes meet industry standards. Barcode verifiers are used to perform barcode verification by taking an image of the barcode and performing various tests on it. This process is outlined in barcode verifier standards ISO/IEC 15416:2000 (for linear bar code verifiers) and ISO/IEC 15415:2004 (for two dimensional bar code verifiers), both publications of which are hereby incorporated by reference.
  • the image scanning apparatus and methods of the present application provide the ability to capture any common sized linear or two-dimensional without changing lenses or reconfiguring the barcode verifier.
  • an image scanning apparatus includes a housing.
  • a first image sensor is attached at a first position along the housing.
  • the first image sensor is configured and adapted to scan an image.
  • a second image sensor is attached at a second position along the housing.
  • the second image sensor is configured and adapted to scan an image to detect movement of the apparatus in the X and Y axis. The movement in the Y axis of the apparatus as detected by the second image sensor is utilized to trigger the first image sensor.
  • the first image sensor is a one-dimensional image sensor.
  • the second image sensor is a two-dimensional image sensor.
  • the second image sensor is an area scan image sensor.
  • an illumination source is associated with the first imaging sensor.
  • an illumination source is associated with the second imaging sensor.
  • at least one aperture is associated with the first and second imaging sensor.
  • the aperture may be an optical aperture.
  • the aperture may be a software aperture.
  • the aperture may be a combination software and optical aperture.
  • the at least one aperture is a variable aperture.
  • the housing is a sealed unit containing the first and second image sensors.
  • an image scanning apparatus in one exemplary embodiment, includes a housing.
  • a first image sensor is attached at a first position along the housing.
  • the first image sensor is configured and adapted to scan an image.
  • a second image sensor is attached at a second position along the housing.
  • the second image sensor is configured and adapted to scan an image to detect movement of the apparatus in the X and Y axis. The movement in the Y axis of the apparatus as detected by the second image sensor is utilized to trigger the first image sensor.
  • At least one aperture is along a portion of the housing. The at least one aperture is associated with the first image sensor and a second aperture is associated with the second image sensor.
  • At least one illumination source is attached to the housing and is associated with the first image sensor and a second illumination source is associated with the second image sensor.
  • the first image sensor is a one-dimensional image sensor.
  • the first image sensor is a linear image sensor.
  • the second image sensor is a two-dimensional image sensor.
  • the second image sensor is an area scan image sensor.
  • an image scanning apparatus includes a housing.
  • a first image sensor is attached at a first position along the housing.
  • the first image sensor is configured and adapted to scan an image.
  • a second image sensor is attached at a second position along the housing.
  • the second image sensor is configured and adapted to scan an image to detect movement of the apparatus in the X and Y axis.
  • the movement in the Y axis of the apparatus as detected by the second image sensor is utilized to trigger the first image sensor.
  • the image from the one-dimensional image sensor is adjusted to correct any deviation found in the X axis.
  • the amount of deviation in the X axis against a maximum deviation limit is compared; and an alert is generated if the amount of deviation exceeds the maximum deviation limit.
  • the first image sensor is a one-dimensional image sensor. In one embodiment, the first image sensor is a linear image sensor. In one embodiment, the second image sensor is a two-dimensional image sensor. In one embodiment, the second image sensor is an area scan image sensor.
  • a method is provided. An image is scanned by a first image sensor to obtain an uncorrected scanned image. The image is scanned by a second image sensor to obtain a distance of scan and skew profile of the first scanned image. The sequential scanned images are scanned by the second image sensor to collect the skew data to yield a skew deviation. In one embodiment, the skew deviation is compared against a maximum deviation limit and an alert is generated if the skew deviation exceeds the maximum deviation limit. In one embodiment, the first image sensor uncorrected scanned image is adjusted by the skew deviation to yield a corrected scanned image.
  • an image scanning device in one embodiment, includes a housing.
  • a scanning module is attached to the housing.
  • the image scanning module is operative to scan an image that is utilized to represent a data value.
  • An encoding module is configured to decode the scanned image to yield data about the image.
  • An image verification module is configured to utilize the data to verify that the image accurately reflects the data value.
  • the image is one of a one-dimensional and two-dimensional barcode and the image verification module is operable to verify accuracy of both one-dimensional and two-dimensional barcodes.
  • an image scanning device in one embodiment, includes a housing with an image scanning module attached to the housing.
  • the image scanning module is operative to scan an image that is utilized to represent a data value.
  • a decoding module is configured to decode the scanned image to yield data about the image.
  • An image verification module is configured to utilize the data to verify that the image accurately reflects the intended data value.
  • the image scanning module comprises an adaptable aperture a size of which the image scanning module configures in response to the data about the image.
  • the image s data about the image is dimension data.
  • FIG. 1 is a perspective view of a user operating an image scanning device
  • FIG. 2 is an enlarged view of the image scanning device of FIG. 1 ;
  • FIG. 3 is a cut away view of the bottom of the image scanning device of FIG. 1 ;
  • FIG. 4 is a cut away view of the side of image scanning device of FIG. 1 ;
  • FIG. 5 is a functional block diagram of the image scanning device of FIG. 1 ;
  • FIG. 6 is a diagram demonstrating exemplary image capture by the image scanning device of FIG. 1 ;
  • FIG. 7A-7C are diagrams demonstrating exemplary image correction by the image capture device of FIG. 1 ;
  • FIG. 8 is a diagram depicting exemplary aperture sizes for the image scanning device of FIG. 1 .
  • the embodiments of this invention include a software algorithm, program or code residing on computer useable medium having control logic for enabling execution on a machine having a computer processor.
  • the machine typically includes memory storage configured to provide output from execution of the computer algorithm or program.
  • the term “software” is meant to be synonymous with any code or program that can be in a processor of a host device, regardless of whether the implementation is in hardware, firmware or as a software computer product available on a disc, a memory storage device, or for download from a remote machine.
  • the embodiments described herein include such software to implement the equations, relationships and algorithms described herein.
  • One skilled in the art will appreciate further features and advantages of the invention based on the above-described embodiments. Accordingly, the invention is not to be limited by what has been particularly shown and described, except as indicated by the appended claims. All publications and references cited herein are expressly incorporated herein by reference in their entirety.
  • an image scanning device 100 is depicted.
  • the image scanning device 100 in one example is a handheld image scanning device.
  • the image scanning device 100 is a handheld verifier suitable for inspecting barcodes, printed graphics, or optical characters.
  • the handheld verifier may be utilized by user 102 to scan an image 104 , such as a barcode, to verify the printing accuracy of the image.
  • the image 104 is a one dimensional bar code.
  • the image is a two-dimensional barcode.
  • the image is a graphic package design.
  • the image is a text document . . . .
  • the barcode 104 is printed on an object 106 .
  • the barcode is appended to the object, e.g. as a label.
  • the object 106 is a package, a container, a good, etc.
  • the object 106 is means for conveying information, such as paper, plastic, ceramic, cardboard, or an electronic output device (e.g. computer monitor, mobile device screen, tablet computer screen, etc.).
  • the user 102 scans the image 104 by moving the image scanning device 100 over the image 104 .
  • Image scanning device 100 includes a screen 108 .
  • the screen 108 in one example is an input/output device, such as touchscreen.
  • Screen 108 allows image scanning device 100 to output data regarding scanning operations to the user as well as receive input from the user. Examples of possible output data would be an audible alarm, visual light indicator, external printed report, computer monitor, mobile device screen, or table computer screen and examples of possible input devices would be a touch screen, interface buttons (mechanical, optical, or capacitive), computer keyboard, or computer mouse.
  • image scanning device 100 in one embodiment comprises a housing 301 , an image scanning module 303 , and functional components that will be further discussed herein.
  • Housing 301 in one embodiment is constructed of extruded or injection molded plastic, extruded or cast metal. Housing 301 in one example is a sealed airtight enclosure to prevent particulate matter in the air from entering housing 301 and disturbing image scanning module 303 .
  • image scanning module 303 in one embodiment comprises first image sensor 305 (e.g. a linear CCD device), lens 319 (e.g. a precision optical lens), mirror 317 (redirects sample light path), first image sensor illumination source 307 (e.g. wide length LED bars flooding the sample area in light with individually adjustable LEDs to allow for uniform illumination along the entire sample area), first image sensor sample area 309 (area when printed sample is captured), second image sensor 311 (e.g. a low resolution area CMOS or CCD device), a lens [not shown but located below or underneath second image sensor 311 (e.g. a plastic lens that directs light to and from second image sensor 311 ), second image sensor illumination source 313 (e.g. LED illumination), and second image sensor sample area 312 (area where motion is detected).
  • first image sensor 305 e.g. a linear CCD device
  • lens 319 e.g. a precision optical lens
  • mirror 317 redirects sample light path
  • first image sensor illumination source 307 e.g. wide
  • first image sensor 305 first image sensor illumination source 307 , first image sensor sample area 309 , mirror 317 , and lens 319 comprise a first image capture module.
  • second image sensor 311 the lens (e.g. the plastic lens that directs light to and from second image sensor 311 ), second image sensor illumination source 313 , and second image sensor sample area 312 comprise a second image capture module.
  • the first image capture module is utilized to capture images in one dimension.
  • the second image capture module is utilize to capture images in two-dimensions.
  • the first image sensor illumination source 307 illuminates an area of a surface through first opening 306 , thereby forming the first image sensor sample area 309 .
  • Light is reflected off the surface and received by mirror 317 , which reflects the light and the corresponding image of the surface bounded by first image sensor sample area 309 .
  • Mirror 317 directs the light and corresponding image to through lens 319 .
  • Lens 319 forms and focuses the image and directs it to first image sensor 305 .
  • Image sensor 305 then captures the image, as will be further described herein.
  • the second image sensor illumination source 313 illuminates an area of a surface through second opening, thereby forming the second image sensor sample area 312 .
  • Light is reflected off the surface and through the lens (not shown) which forms and focuses the image and directs it to second image sensor 311 .
  • Image sensor 311 then captures the image, as will be further described herein.
  • image capture device 100 generally include at least one processor 502 , at least one data interface 504 , and at least one memory device 506 coupled via buses.
  • Image scanning device in one embodiment also includes image capture engine 508 , decoding engine 509 , position detection engine 510 , data verification engine 512 , and image correction engine 514 .
  • Processor 502 is an electronic device configured of logic circuitry that responds to and executes instructions.
  • the processor 502 could comprise more than one distinct processing device, for example to handle different functions within image scanning device 100 .
  • Processor 502 outputs results of an execution of the methods described herein.
  • At least one data interface 504 in one embodiment comprises either a wired (e.g. USB or Ethernet or RS-232) or wireless (e.g. 802.11 or Bluetooth) data interface through which image scanning device may be coupled to a network, another device, such as a PC, or to a peripheral device, such as a printer.
  • a wired e.g. USB or Ethernet or RS-232
  • wireless e.g. 802.11 or Bluetooth
  • Memory device 506 in one example is a computer-readable medium encoded with a computer program. Memory device 506 stores data and instructions that are readable and executable by processor 502 for controlling the operation of processor 502 . Memory device 506 may be implemented in a random access memory (RAM), volatile or non-volatile memory, solid state storage devices, magnetic devices, a hard drive, a read only memory (ROM), or a combination thereof.
  • RAM random access memory
  • ROM read only memory
  • Image capture engine 508 in one example comprises hardware and/or software components programmed to image capture operations as further set forth herein.
  • Decoding engine 509 comprises hardware and/or software components programmed to perform decoding operations as further set forth herein.
  • Position detection engine 510 in one example comprises hardware and/or software components programmed to perform position detection 510 operations as further set forth herein.
  • Data verification engine 512 in one example is used to perform data verification operations as further set forth herein.
  • engine is used herein to denote a functional operation that may be embodied either as a stand-alone component or as an integrated configuration of a plurality of subordinate components.
  • image capture engine 508 , decoding engine 509 , position detection engine 510 , data verification engine 512 , and image correction engine 514 may be implemented as a single module or as a plurality of modules that operate in cooperation with one another.
  • Image capture engine 508 , decoding engine 509 , position detection engine 510 , data verification engine 512 , and image correction engine 514 may be implemented as software, hardware (e.g., electronic circuitry), firmware, software, or a combination thereof.
  • image capture engine 508 , decoding engine 509 , position detection engine 510 , data verification engine 512 , and image correction engine 514 are software instructions that are stored on memory device 506 .
  • engines 508 , 509 , 510 , 512 , 514 are stored elsewhere and communicated to image capture device 100 for execution as part of a distributed processing environment.
  • image capture engine 508 in one example comprises hardware and/or software components to perform image capture operations. For instance, in one example, a user may actuate image scanning device 100 through its user interface to capture an image from a surface. Image capture engine 508 , in response to such user actuation, would instruct one or both of the image sensors 305 , 311 to capture one or more images. In another example, a user may actuate image scanning device 100 , and in response, image capture engine 508 would instruct second image sensor 311 to begin capturing images such that position detection of image scanning device 100 could occur. Image correction 514 may also process the image to apply a synthetic (non-optic) aperture (size of light) when instructed by the Processor 502 .
  • a synthetic (non-optic) aperture size of light
  • the aperture is a method of grouping a number of pixels together in the shape of either a square, a rectangle, a circle, or an eclipse.
  • the grouping maybe any size up to the maximum image width of the first image sensor.
  • the size of the aperture would be determined by the processor 502 based on the type of sample inspection selected and the applicable local and international standards that apply to quality inspection testing of said sample.
  • the size of the aperture 801 (i.e. area captured by first image capture module) can be controlled by using hardware (e.g. through adjustment of lens 319 ), software, or both hardware and software to control the aperture 801 of first image scanning module. Controlling the aperture 801 through hardware may be accomplished in one example by varying the physical characteristics of the lens 319 . A higher resolution lens will provide first image capture module with a smaller aperture. A lower resolution lens will provide first image capture module with a larger apertures as is show in 802 and 803 .
  • Software control of aperture 801 can be accomplished through applying an appropriate algorithm to the data that is captured by first image sensor 305 .
  • the aperture resolution is controlled by applying a smoothing function to the data captured by first image sensor 305 .
  • each pixel 804 (each square represents a pixel captured by first image sensor 305 ) has an area of 1/1000 or 0.001 of an inch.
  • the system will determine the software aperture and then process the image captured by sensor 305 to generate a second “smoothed” image.
  • the second image will comprised of the values of each pixel is averaged with the values of its neighbors to create a composite pixel value.
  • image sensor 305 must capture 3 pixels in the X and 3 pixels in the Y direction resulting in a synthetic aperture of 0.003 inches.
  • image sensor must capture 6 pixels in the X and 6 pixels in the Y directions (36 pixels total but only 32 pixels are used to create the semi-circular smoothing pattern) resulting in a synthetic aperture of 0.006 inches.
  • image sensor must capture 10 pixels in the X and 10 pixels in the Y directions (100 pixels total but only 76 pixels are used to create the semi-circular pattern) resulting in a synthetic aperture of 0.010 inches.
  • the examples shown above are for illustration purposed only, any size or shape (square, rectangle, circular, or eclipse) software aperture can be applied,
  • Decoding engine 509 comprises hardware and/or software components programmed to perform decoding operations on data received from the image sensors 305 , 311 . For instance, as light is reflected as a binary grey-scale from a one dimensional barcode there will be a series of light areas and dark areas within images captured by first image sensor 305 . Decoding engine 509 will translate the light areas into either a high level digital value and the dark areas into the opposite low level digital value. In another example, decoding engine 509 will translate the images received from second image sensor 311 as a pattern that will be used in future captures to determine the position change of image scanning device 100 .
  • Position detection engine 510 comprises hardware and/or software components programmed to perform position detection operations on data received from second image sensor 311 .
  • position detection engine 510 utilizes data received from second image sensor 311 (through decoding engine 509 ) to determine the position of image scanning device 100 relative to a surface.
  • Image capture engine 508 instructs second image sensor 311 to capture images from second image sensor sample area 312 at a fixed time internal.
  • Second image sensor 311 captures images, which are decoded by decoding engine 509 into binary grey scale signals.
  • Position detection engine 510 analyzes the images embodied in the binary grey scale signals and based on changes in the images over time determines how far the image capture device 100 has moved along the Y-axis 603 .
  • position detection engine 510 when position detection engine 510 determines that image capture device 100 has moved a certain distance along the Y-axis 603 , position detection engine 510 notifies image capture engine 508 , which instructs the first image sensor 305 to capture an image along the X-axis 605 .
  • the distance that image capture device 100 moves to trigger image sensor 305 to capture an image along the Y-axis 603 is 1/1000 th of inch.
  • the image trigger distance can be set from 1/50 th of an inch to 1/5000 th of an inch.
  • a one-dimensional image such as a one dimensional barcode
  • a two-dimensional image can be captured by scanning the image capture device along the entire barcode in the direction of the Y-axis 603 .
  • a two-dimensional image, such as printed package can be captured by scanning the image capture device along length of the package in the direction of the Y-axis 603 .
  • Data verification engine 512 comprises hardware and/or software components programmed to perform data verification operations on data received from first image sensor 305 .
  • image data received from first image sensor 305 , through decoding engine 509 is received by data verification engine 512 .
  • Data verification engine 512 processes the image data of the inspection area using industry standards to generate inspection results that show the quality level of the image captured. The inspection results will be reported in the format matching the type of inspection performed, this may be; 0-100 scale, A-F scale, 0.0 to 4.0 scale, or absolute dimensional measurements depending on the applicable industry standard.
  • the image data is verified in accordance with ISO/IEC 15426-1 (for linear bar code verifiers) and ISO/IEC 15426-2 (for two dimensional bar code verifiers). Because image capture device 100 , as described above, is able to capture two-dimensional images, image capture device 100 can be utilized to verify both one-dimensional and two-dimensional barcodes.
  • FIGS. 7A-7C a detailed description of exemplary operation of image correction engine 514 is now provided for illustrative purposes.
  • a user moves image scanning device 100 along inspection path 601 in a “straight” fashion.
  • Image scanning device 100 does not rotate about its central axis during such movement.
  • the resultant image 701 captured by image capture device 100 is an accurate depiction of image 104 ( FIG. 1 ), i.e. what passes through first image sensor sample area 309 .
  • FIG. 7B it can be seen what results when user error causes the image capture device 100 to rotate or when the inspection path 601 is not parallel to the Y-Axis 603 .
  • the resultant image 703 contains a defect, or distortion of image 104 ( FIG. 1 ), i.e. what passes through first image sensor sample area 309 . It is skewed relative to the image 104 .
  • image scanning device 100 performs error correction on resultant image 703 to remove errors, such as skew.
  • the movement detected in the Y-axis 603 by the second image sensor 311 and processed by capture engine 508 would be used to instruct first image sensor 305 to capture image 104 .
  • the image 703 captured by first image sensor 305 would be processed by the image correction engine 514 using movement along the X-axis 605 as detected by second image sensor 311 and processed by capture engine 508 .
  • this image correction is completed in hardware to reduce the processor 502 workload and increase the maximum image capture rate.
  • the image correction could be completed by processor 502 .
  • the image correction engine 514 compares the amount of error (e.g. the distance of skew) to a threshold. There are two thresholds, one for the maximum amount of error over each individual image sample and a second for the maximum amount of error over an entire inspection area. If the amount of error exceeds a pre-programmed threshold, then an alert is triggered and the user is instructed to rescan the image 104 . If the amount of error is less than the threshold, then the image correction engine 514 corrects the resultant image 703 .
  • the image correction engine 514 in one example corrects for the defect, by cropping or shifting the resultant image 703 , thereby yielding a corrected image 705 . For instance, if a user, while scanning an inspection area, were to shift the image scanning device by X pixels along the X axis, then the image correction engine 514 would shift the image by X pixels in the opposite direction along the X axis.

Abstract

An image scanning apparatus includes a housing. A first image sensor (linear scan imager) is attached at a first position along the housing. The first image sensor is configured and adapted to scan an image. A second image sensor (area scan imager) is attached at a second position along the housing. The second image sensor is configured and adapted to scan an image to detect movement of the apparatus in the X and Y axis. Movement in the Y axis of the apparatus as detected by the second image sensor is utilized to trigger the first image sensor. Movement in the X axis of the apparatus as detected by the second image sensor is utilized to correct image defects (e.g. skew) of the image captured by the first image sensor thereby allowing the second image sensor to capture a 2D inspection area.

Description

RELATED APPLICATIONS
The present application claims the benefit of co-pending U.S. Provisional Patent Application No. 61/586,098, filed Jan. 12, 2012, the entire contents of which is incorporated herein by reference.
FIELD OF THE INVENTION
The present invention relates to the field of image scanning and processing and, more particularly, to the use of image scanning and processing in the area of image verification and quality testing.
BACKGROUND
Barcodes are used throughout supply chains to identify objects, collect data about objects, and enter data into computer systems. There are many different types of barcodes, but can generally group them into two categories: Linear, or one-dimensional barcodes, and 2D or two-dimensional barcodes. One dimensional barcodes provide information along one axis, similar to a standard alphanumeric sentence. Two dimensional barcodes provide information along two axes, similar to a matrix. Regardless of the type of bar code used, to maintain the integrity of a barcode system, the barcodes in use must be of sufficient quality such that barcode readers can decipher them. Accordingly, users of barcodes have created standards bodies that have promulgated various standards to insure that barcodes meet certain quality requirements.
Barcode verification is the process by which barcodes are examined to determine whether or not barcodes meet industry standards. Barcode verifiers are used to perform barcode verification by taking an image of the barcode and performing various tests on it. This process is outlined in barcode verifier standards ISO/IEC 15416:2000 (for linear bar code verifiers) and ISO/IEC 15415:2004 (for two dimensional bar code verifiers), both publications of which are hereby incorporated by reference. Other technical standards that are relevant to bar codes and to the present application are ISO/IEC15426-1:2006, ISO/IEC15426-2:2005, ISO 15394:2000(E), ATA SPEC 2000, NDC 2001, MIL-STD-130L, and the GS1 General Specifications, all of which are hereby incorporated by reference.
When using a handheld barcode verifier, it is necessary for the user to scan the verifier across the barcode in order to obtain the image. For linear barcode verification, this is relatively straightforward because the information is only provided along the X axis. Any defect in the image along the Y axis (e.g. skewing of the image due to the user's hand movement) will not, to any large degree, affect the verifier's ability to accurately verify the barcode. With respect to two dimensional barcodes, however, it is important that the barcode image not contain defects along the Y axis. Furthermore, due to the more dense nature of two dimensional barcodes, it is important that the barcode verify have sufficient resolution that it captures a sufficient amount of the barcode that verification can occur. Most two-dimensional barcode verifiers rely on an area scan camera which is expensive and requires multiple lenses to inspect various sizes of bar codes. In order to have sufficient resolution of small bar codes, a lens will be required that zooms in on the barcode sample while different lenses will be required for medium and large bar codes. The image scanning apparatus and methods of the present application provide the ability to capture any common sized linear or two-dimensional without changing lenses or reconfiguring the barcode verifier.
SUMMARY
The description and drawings herein are meant as an illustration of one or more exemplary embodiments of the invention, but should not be considered limiting or restrictive. As such, there are a number of manners of modification without departing from the spirit and scope of the invention.
In one exemplary embodiment, an image scanning apparatus is provided. The image scanning apparatus includes a housing. A first image sensor is attached at a first position along the housing. The first image sensor is configured and adapted to scan an image. A second image sensor is attached at a second position along the housing. The second image sensor is configured and adapted to scan an image to detect movement of the apparatus in the X and Y axis. The movement in the Y axis of the apparatus as detected by the second image sensor is utilized to trigger the first image sensor. In one embodiment the first image sensor is a one-dimensional image sensor. In one embodiment, the second image sensor is a two-dimensional image sensor. In one embodiment, the second image sensor is an area scan image sensor. In one embodiment, an illumination source is associated with the first imaging sensor. In one embodiment, an illumination source is associated with the second imaging sensor. In one embodiment, at least one aperture is associated with the first and second imaging sensor. In one embodiment, the aperture may be an optical aperture. In one embodiment, the aperture may be a software aperture. In one embodiment, the aperture may be a combination software and optical aperture. In one embodiment, the at least one aperture is a variable aperture. In one embodiment, the housing is a sealed unit containing the first and second image sensors.
In one exemplary embodiment, an image scanning apparatus is provided. The image scanning apparatus includes a housing. A first image sensor is attached at a first position along the housing. The first image sensor is configured and adapted to scan an image. A second image sensor is attached at a second position along the housing. The second image sensor is configured and adapted to scan an image to detect movement of the apparatus in the X and Y axis. The movement in the Y axis of the apparatus as detected by the second image sensor is utilized to trigger the first image sensor. At least one aperture is along a portion of the housing. The at least one aperture is associated with the first image sensor and a second aperture is associated with the second image sensor. At least one illumination source is attached to the housing and is associated with the first image sensor and a second illumination source is associated with the second image sensor. In one embodiment, the first image sensor is a one-dimensional image sensor. In one embodiment, the first image sensor is a linear image sensor. In one embodiment, the second image sensor is a two-dimensional image sensor. In one embodiment, the second image sensor is an area scan image sensor.
In one exemplary embodiment, an image scanning apparatus is provided. The image scanning apparatus includes a housing. A first image sensor is attached at a first position along the housing. The first image sensor is configured and adapted to scan an image. A second image sensor is attached at a second position along the housing. The second image sensor is configured and adapted to scan an image to detect movement of the apparatus in the X and Y axis. The movement in the Y axis of the apparatus as detected by the second image sensor is utilized to trigger the first image sensor. The image from the one-dimensional image sensor is adjusted to correct any deviation found in the X axis. In one embodiment, the amount of deviation in the X axis against a maximum deviation limit is compared; and an alert is generated if the amount of deviation exceeds the maximum deviation limit. In one embodiment, the first image sensor is a one-dimensional image sensor. In one embodiment, the first image sensor is a linear image sensor. In one embodiment, the second image sensor is a two-dimensional image sensor. In one embodiment, the second image sensor is an area scan image sensor.
In one exemplary embodiment, a method is provided. An image is scanned by a first image sensor to obtain an uncorrected scanned image. The image is scanned by a second image sensor to obtain a distance of scan and skew profile of the first scanned image. The sequential scanned images are scanned by the second image sensor to collect the skew data to yield a skew deviation. In one embodiment, the skew deviation is compared against a maximum deviation limit and an alert is generated if the skew deviation exceeds the maximum deviation limit. In one embodiment, the first image sensor uncorrected scanned image is adjusted by the skew deviation to yield a corrected scanned image.
In one embodiment, an image scanning device is provided. The image scanning device includes a housing. A scanning module is attached to the housing. The image scanning module is operative to scan an image that is utilized to represent a data value. An encoding module is configured to decode the scanned image to yield data about the image. An image verification module is configured to utilize the data to verify that the image accurately reflects the data value. The image is one of a one-dimensional and two-dimensional barcode and the image verification module is operable to verify accuracy of both one-dimensional and two-dimensional barcodes.
In one embodiment, an image scanning device is provided. The image scanning device includes a housing with an image scanning module attached to the housing. The image scanning module is operative to scan an image that is utilized to represent a data value. A decoding module is configured to decode the scanned image to yield data about the image. An image verification module is configured to utilize the data to verify that the image accurately reflects the intended data value. The image scanning module comprises an adaptable aperture a size of which the image scanning module configures in response to the data about the image. In one embodiment, the image s data about the image is dimension data.
The present invention is capable of various modifications and alternative constructions, some of which are detailed in the drawings below. However, it should be clear that the intention is not to limit the invention to a particular embodiment or form, but rather the present invention should cover changes, additions and modifications as part of its scope. Independent features and independent advantages of the present invention will become apparent to those skilled in the art upon review of the detailed description and drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a perspective view of a user operating an image scanning device;
FIG. 2 is an enlarged view of the image scanning device of FIG. 1;
FIG. 3 is a cut away view of the bottom of the image scanning device of FIG. 1;
FIG. 4 is a cut away view of the side of image scanning device of FIG. 1;
FIG. 5 is a functional block diagram of the image scanning device of FIG. 1;
FIG. 6 is a diagram demonstrating exemplary image capture by the image scanning device of FIG. 1;
FIG. 7A-7C are diagrams demonstrating exemplary image correction by the image capture device of FIG. 1;
FIG. 8 is a diagram depicting exemplary aperture sizes for the image scanning device of FIG. 1.
It is to be appreciated the subject invention is described below more fully with reference to the accompanying drawings, in which an illustrated embodiment of the present invention is shown. The subject invention is not limited in any way to the any particular illustrated embodiment as the illustrated embodiments are merely exemplary of the invention, which can be embodied in various forms, as appreciated by one skilled in the art. Therefore, it is to be understood that any structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a basis for the claims and as a representative for teaching one skilled in the art to variously employ the present invention. Furthermore, the terms and phrases used herein are not intended to be limiting but rather to provide an understandable description of the invention.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Although any methods and materials similar or equivalent to those described herein can also be used in the practice or testing of the present invention, exemplary methods and materials are now described. All publications mentioned herein are incorporated herein by reference to disclose and describe the methods and/or materials in connection with which the publications are cited.
It must be noted that as used herein and in the appended claims, the singular forms “a”, “an,” and “the” include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to “a stimulus” includes a plurality of such stimuli and reference to “the signal” includes reference to one or more signals and equivalents thereof known to those skilled in the art, and so forth.
It is to be appreciated the embodiments of this invention as discussed below include a software algorithm, program or code residing on computer useable medium having control logic for enabling execution on a machine having a computer processor. The machine typically includes memory storage configured to provide output from execution of the computer algorithm or program. As used herein, the term “software” is meant to be synonymous with any code or program that can be in a processor of a host device, regardless of whether the implementation is in hardware, firmware or as a software computer product available on a disc, a memory storage device, or for download from a remote machine. The embodiments described herein include such software to implement the equations, relationships and algorithms described herein. One skilled in the art will appreciate further features and advantages of the invention based on the above-described embodiments. Accordingly, the invention is not to be limited by what has been particularly shown and described, except as indicated by the appended claims. All publications and references cited herein are expressly incorporated herein by reference in their entirety.
DETAILED DESCRIPTION
Referring to FIGS. 1 and 2, an image scanning device 100 is depicted. The image scanning device 100 in one example is a handheld image scanning device. In one embodiment, the image scanning device 100 is a handheld verifier suitable for inspecting barcodes, printed graphics, or optical characters. The handheld verifier may be utilized by user 102 to scan an image 104, such as a barcode, to verify the printing accuracy of the image. In one embodiment, the image 104 is a one dimensional bar code. In another embodiment, the image is a two-dimensional barcode. In another embodiment, the image is a graphic package design. In another embodiment, the image is a text document . . . . In one embodiment, the barcode 104 is printed on an object 106. In another embodiment, the barcode is appended to the object, e.g. as a label. In one embodiment, the object 106 is a package, a container, a good, etc. In another embodiment, the object 106 is means for conveying information, such as paper, plastic, ceramic, cardboard, or an electronic output device (e.g. computer monitor, mobile device screen, tablet computer screen, etc.). In operation, the user 102 scans the image 104 by moving the image scanning device 100 over the image 104.
Image scanning device 100 includes a screen 108. The screen 108 in one example is an input/output device, such as touchscreen. Screen 108 allows image scanning device 100 to output data regarding scanning operations to the user as well as receive input from the user. Examples of possible output data would be an audible alarm, visual light indicator, external printed report, computer monitor, mobile device screen, or table computer screen and examples of possible input devices would be a touch screen, interface buttons (mechanical, optical, or capacitive), computer keyboard, or computer mouse.
Referring to FIG. 3, image scanning device 100 in one embodiment comprises a housing 301, an image scanning module 303, and functional components that will be further discussed herein.
Housing 301 in one embodiment is constructed of extruded or injection molded plastic, extruded or cast metal. Housing 301 in one example is a sealed airtight enclosure to prevent particulate matter in the air from entering housing 301 and disturbing image scanning module 303.
Referring to FIGS. 3-4, image scanning module 303 in one embodiment comprises first image sensor 305 (e.g. a linear CCD device), lens 319 (e.g. a precision optical lens), mirror 317 (redirects sample light path), first image sensor illumination source 307 (e.g. wide length LED bars flooding the sample area in light with individually adjustable LEDs to allow for uniform illumination along the entire sample area), first image sensor sample area 309 (area when printed sample is captured), second image sensor 311 (e.g. a low resolution area CMOS or CCD device), a lens [not shown but located below or underneath second image sensor 311 (e.g. a plastic lens that directs light to and from second image sensor 311), second image sensor illumination source 313 (e.g. LED illumination), and second image sensor sample area 312 (area where motion is detected).
From a functional viewpoint, first image sensor 305, first image sensor illumination source 307, first image sensor sample area 309, mirror 317, and lens 319 comprise a first image capture module. Similarly, second image sensor 311, the lens (e.g. the plastic lens that directs light to and from second image sensor 311), second image sensor illumination source 313, and second image sensor sample area 312 comprise a second image capture module. In one embodiment, the first image capture module is utilized to capture images in one dimension. In one embodiment the second image capture module is utilize to capture images in two-dimensions.
In operation, the first image sensor illumination source 307 illuminates an area of a surface through first opening 306, thereby forming the first image sensor sample area 309. Light is reflected off the surface and received by mirror 317, which reflects the light and the corresponding image of the surface bounded by first image sensor sample area 309. Mirror 317 directs the light and corresponding image to through lens 319. Lens 319 forms and focuses the image and directs it to first image sensor 305. Image sensor 305 then captures the image, as will be further described herein.
Referring further to FIGS. 3-4, in one embodiment, the second image sensor illumination source 313 illuminates an area of a surface through second opening, thereby forming the second image sensor sample area 312. Light is reflected off the surface and through the lens (not shown) which forms and focuses the image and directs it to second image sensor 311. Image sensor 311 then captures the image, as will be further described herein.
Referring to FIG. 5, an exemplary functional block diagram of image scanning device 100 is now provided for illustrative purposes. It should be understood that image capture device 100 generally include at least one processor 502, at least one data interface 504, and at least one memory device 506 coupled via buses. Image scanning device in one embodiment also includes image capture engine 508, decoding engine 509, position detection engine 510, data verification engine 512, and image correction engine 514.
Processor 502 is an electronic device configured of logic circuitry that responds to and executes instructions. The processor 502 could comprise more than one distinct processing device, for example to handle different functions within image scanning device 100. Processor 502 outputs results of an execution of the methods described herein.
At least one data interface 504 in one embodiment comprises either a wired (e.g. USB or Ethernet or RS-232) or wireless (e.g. 802.11 or Bluetooth) data interface through which image scanning device may be coupled to a network, another device, such as a PC, or to a peripheral device, such as a printer.
Memory device 506 in one example is a computer-readable medium encoded with a computer program. Memory device 506 stores data and instructions that are readable and executable by processor 502 for controlling the operation of processor 502. Memory device 506 may be implemented in a random access memory (RAM), volatile or non-volatile memory, solid state storage devices, magnetic devices, a hard drive, a read only memory (ROM), or a combination thereof.
Image capture engine 508 in one example comprises hardware and/or software components programmed to image capture operations as further set forth herein. Decoding engine 509 comprises hardware and/or software components programmed to perform decoding operations as further set forth herein. Position detection engine 510 in one example comprises hardware and/or software components programmed to perform position detection 510 operations as further set forth herein. Data verification engine 512 in one example is used to perform data verification operations as further set forth herein. The term “engine” is used herein to denote a functional operation that may be embodied either as a stand-alone component or as an integrated configuration of a plurality of subordinate components. Thus, image capture engine 508, decoding engine 509, position detection engine 510, data verification engine 512, and image correction engine 514 may be implemented as a single module or as a plurality of modules that operate in cooperation with one another. Image capture engine 508, decoding engine 509, position detection engine 510, data verification engine 512, and image correction engine 514 may be implemented as software, hardware (e.g., electronic circuitry), firmware, software, or a combination thereof. In one example, image capture engine 508, decoding engine 509, position detection engine 510, data verification engine 512, and image correction engine 514 are software instructions that are stored on memory device 506. In another example, engines 508, 509, 510, 512, 514 are stored elsewhere and communicated to image capture device 100 for execution as part of a distributed processing environment.
Further referring to FIG. 5, image capture engine 508 in one example comprises hardware and/or software components to perform image capture operations. For instance, in one example, a user may actuate image scanning device 100 through its user interface to capture an image from a surface. Image capture engine 508, in response to such user actuation, would instruct one or both of the image sensors 305, 311 to capture one or more images. In another example, a user may actuate image scanning device 100, and in response, image capture engine 508 would instruct second image sensor 311 to begin capturing images such that position detection of image scanning device 100 could occur. Image correction 514 may also process the image to apply a synthetic (non-optic) aperture (size of light) when instructed by the Processor 502. The aperture is a method of grouping a number of pixels together in the shape of either a square, a rectangle, a circle, or an eclipse. The grouping maybe any size up to the maximum image width of the first image sensor. The size of the aperture would be determined by the processor 502 based on the type of sample inspection selected and the applicable local and international standards that apply to quality inspection testing of said sample.
For example, referring to FIG. 8, the size of the aperture 801 (i.e. area captured by first image capture module) can be controlled by using hardware (e.g. through adjustment of lens 319), software, or both hardware and software to control the aperture 801 of first image scanning module. Controlling the aperture 801 through hardware may be accomplished in one example by varying the physical characteristics of the lens 319. A higher resolution lens will provide first image capture module with a smaller aperture. A lower resolution lens will provide first image capture module with a larger apertures as is show in 802 and 803.
Software control of aperture 801 can be accomplished through applying an appropriate algorithm to the data that is captured by first image sensor 305. In one example, the aperture resolution is controlled by applying a smoothing function to the data captured by first image sensor 305. In the example shown in FIG. 8, each pixel 804 (each square represents a pixel captured by first image sensor 305) has an area of 1/1000 or 0.001 of an inch. When the “software aperture” is applied, the system will determine the software aperture and then process the image captured by sensor 305 to generate a second “smoothed” image. The second image will comprised of the values of each pixel is averaged with the values of its neighbors to create a composite pixel value. Therefore, to have a 3 mil aperture 805, image sensor 305 must capture 3 pixels in the X and 3 pixels in the Y direction resulting in a synthetic aperture of 0.003 inches. In example 807 which is for a semi-circular smoothing function, the image sensor must capture 6 pixels in the X and 6 pixels in the Y directions (36 pixels total but only 32 pixels are used to create the semi-circular smoothing pattern) resulting in a synthetic aperture of 0.006 inches. To have a 10 mil aperture 809, image sensor must capture 10 pixels in the X and 10 pixels in the Y directions (100 pixels total but only 76 pixels are used to create the semi-circular pattern) resulting in a synthetic aperture of 0.010 inches. The examples shown above are for illustration purposed only, any size or shape (square, rectangle, circular, or eclipse) software aperture can be applied,
Decoding engine 509 comprises hardware and/or software components programmed to perform decoding operations on data received from the image sensors 305, 311. For instance, as light is reflected as a binary grey-scale from a one dimensional barcode there will be a series of light areas and dark areas within images captured by first image sensor 305. Decoding engine 509 will translate the light areas into either a high level digital value and the dark areas into the opposite low level digital value. In another example, decoding engine 509 will translate the images received from second image sensor 311 as a pattern that will be used in future captures to determine the position change of image scanning device 100.
Position detection engine 510 comprises hardware and/or software components programmed to perform position detection operations on data received from second image sensor 311. In one embodiment position detection engine 510 utilizes data received from second image sensor 311 (through decoding engine 509) to determine the position of image scanning device 100 relative to a surface.
For instance, referring to FIG. 6, as a user scans an image by moving image scanning device 100 along an inspection path 601 (FIG. 6). Image capture engine 508 instructs second image sensor 311 to capture images from second image sensor sample area 312 at a fixed time internal. Second image sensor 311 captures images, which are decoded by decoding engine 509 into binary grey scale signals. Position detection engine 510 analyzes the images embodied in the binary grey scale signals and based on changes in the images over time determines how far the image capture device 100 has moved along the Y-axis 603. In one embodiment, when position detection engine 510 determines that image capture device 100 has moved a certain distance along the Y-axis 603, position detection engine 510 notifies image capture engine 508, which instructs the first image sensor 305 to capture an image along the X-axis 605. In one example, the distance that image capture device 100 moves to trigger image sensor 305 to capture an image along the Y-axis 603 is 1/1000th of inch. In another example, the image trigger distance can be set from 1/50th of an inch to 1/5000th of an inch. In this manner, a one-dimensional image, such as a one dimensional barcode, can be captured by scanning the image capture device 100 along at least a portion of the barcode in the direction of the Y-axis 603. In this manner, a two-dimensional image, such as a two-dimensional barcode can be captured by scanning the image capture device along the entire barcode in the direction of the Y-axis 603. In this manner, a two-dimensional image, such as printed package, can be captured by scanning the image capture device along length of the package in the direction of the Y-axis 603.
Data verification engine 512 comprises hardware and/or software components programmed to perform data verification operations on data received from first image sensor 305. For instance, image data received from first image sensor 305, through decoding engine 509 is received by data verification engine 512. Data verification engine 512 processes the image data of the inspection area using industry standards to generate inspection results that show the quality level of the image captured. The inspection results will be reported in the format matching the type of inspection performed, this may be; 0-100 scale, A-F scale, 0.0 to 4.0 scale, or absolute dimensional measurements depending on the applicable industry standard. In one example, the image data is verified in accordance with ISO/IEC 15426-1 (for linear bar code verifiers) and ISO/IEC 15426-2 (for two dimensional bar code verifiers). Because image capture device 100, as described above, is able to capture two-dimensional images, image capture device 100 can be utilized to verify both one-dimensional and two-dimensional barcodes.
Referring to FIGS. 7A-7C, a detailed description of exemplary operation of image correction engine 514 is now provided for illustrative purposes. In FIG. 7A, it can be seen that a user moves image scanning device 100 along inspection path 601 in a “straight” fashion. Image scanning device 100 does not rotate about its central axis during such movement. As a result, in FIG. 7A, the resultant image 701, captured by image capture device 100 is an accurate depiction of image 104 (FIG. 1), i.e. what passes through first image sensor sample area 309. There are no defects in the image 701.
In FIG. 7B, however, it can be seen what results when user error causes the image capture device 100 to rotate or when the inspection path 601 is not parallel to the Y-Axis 603. When this occurs, the resultant image 703 contains a defect, or distortion of image 104 (FIG. 1), i.e. what passes through first image sensor sample area 309. It is skewed relative to the image 104.
Accordingly, referring to FIGS. 7B-7C, image scanning device 100 performs error correction on resultant image 703 to remove errors, such as skew.
The movement detected in the Y-axis 603 by the second image sensor 311 and processed by capture engine 508 would be used to instruct first image sensor 305 to capture image 104. The image 703 captured by first image sensor 305 would be processed by the image correction engine 514 using movement along the X-axis 605 as detected by second image sensor 311 and processed by capture engine 508. In one embodiment, this image correction is completed in hardware to reduce the processor 502 workload and increase the maximum image capture rate. However, alternatively the image correction could be completed by processor 502.
The image correction engine 514 compares the amount of error (e.g. the distance of skew) to a threshold. There are two thresholds, one for the maximum amount of error over each individual image sample and a second for the maximum amount of error over an entire inspection area. If the amount of error exceeds a pre-programmed threshold, then an alert is triggered and the user is instructed to rescan the image 104. If the amount of error is less than the threshold, then the image correction engine 514 corrects the resultant image 703. The image correction engine 514 in one example corrects for the defect, by cropping or shifting the resultant image 703, thereby yielding a corrected image 705. For instance, if a user, while scanning an inspection area, were to shift the image scanning device by X pixels along the X axis, then the image correction engine 514 would shift the image by X pixels in the opposite direction along the X axis.
The foregoing description has been presented for purposes of illustration and description, and is not intended to be exhaustive or to limit the invention to the precise form disclosed. The descriptions were selected to explain the principles of the invention and their practical application to enable others skilled in the art to utilize the invention in various embodiments and various modifications as are suited to the particular use contemplated. Although particular constructions of the present invention have been shown and described, other alternative constructions will be apparent to those skilled in the art and are within the intended scope of the present invention.

Claims (32)

What is claimed is:
1. An image scanning apparatus comprising:
a housing;
a first image sensor attached at a first position along the housing, the first image sensor being configured and adapted to scan an image; and
a second image sensor attached at a second position along the housing, the second image sensor being configured and adapted to scan an image to detect movement of the apparatus in the X and Y axis; wherein the movement in the Y axis of the apparatus as detected by the second image sensor is utilized to trigger the first image sensor.
2. The image scanning apparatus of claim 1, wherein the first image sensor is a one-dimensional image sensor.
3. The image scanning apparatus of claim 1, wherein the first image sensor is a linear scan image sensor.
4. The image scanning apparatus of claim 1, wherein the second image sensor is a two-dimensional image sensor.
5. The image scanning apparatus of claim 1, wherein the second image sensor is an area scan image sensor.
6. The image scanning apparatus of claim 1, further comprising an illumination source associated with the first imaging sensor.
7. The image scanning apparatus of claim 1, further comprising an illumination source associated with the second imaging sensor.
8. The image scanning apparatus of claim 1, further comprising at least one aperture associated with the first and second imaging sensor.
9. The image scanning apparatus of claim 8, wherein the at least one aperture is a variable aperture.
10. The image scanning apparatus of claim 8, wherein the at least one aperture is an optical aperture.
11. The image scanning apparatus of claim 8, wherein the at least one aperture is a software aperture.
12. The image scanning apparatus of claim 8, wherein the aperture is a combination software and optical aperture.
13. The image scanning apparatus of claim 1, wherein the housing is a sealed unit containing the first and second image sensors.
14. An image scanning apparatus, comprising:
a housing;
a first image sensor attached at a first position along the housing, the first image sensor being configured and adapted to scan an image;
a second image sensor attached at a second position along the housing, the second image sensor being configured and adapted to scan an image and to detect movement of the apparatus in the X and Y axis during a scan of an image by both the first and second image sensors;
at least one aperture along a portion of the housing, the at least one aperture being associated with at least one of the first image sensor and the second image sensor; and
at least one illumination source attached to the housing, the at least one illumination source being associated with the at least one of the first image sensor and the second image sensor.
15. The image scanning apparatus of claim 14, wherein the at least one aperture comprises a first aperture associated with the first image sensor and a second aperture associated with the second image sensor.
16. The image scanning apparatus of claim 14, wherein the first image sensor is a one-dimensional image sensor.
17. The image scanning apparatus of claim 14, wherein the second image sensor is a two-dimensional image sensor.
18. The image scanning apparatus of claim 14, wherein the second image sensor is an area scan image sensor.
19. A method, comprising:
scanning an image to obtain a first scanned image and a second scanned image;
comparing the first scanned image to the second scanned image;
determining an amount of deviation on the X axis and Y axis between the first scanned image and the second scanned images; and
adjusting a linear image sensor scanned image to correct any deviation found in the X axis.
20. The method of claim 19, further comprising:
comparing the amount of deviation in the X axis for a single linear image sensor scanned image against a maximum deviation limit; and
generating an alert if the amount of deviation exceeds the maximum deviation limit.
21. The method of claim 19, further comprising:
comparing the amount of deviation in the X axis for the collection of individual linear image sensor scanned images that create the 2D inspection area, against a maximum deviation limit.
22. The method of claim 19, wherein the first image sensor is a one-dimensional image sensor.
23. The method of claim 19, wherein the first image sensor is a linear image sensor.
24. The method of claim 19, wherein the second image sensor is a two-dimensional image sensor.
25. The method of claim 19, wherein the second image sensor is an area scan image sensor.
26. A method, comprising:
scanning an image by a first image sensor to obtain an uncorrected scanned image;
scanning the image by a second image sensor to obtain a distance of scan and skew profile of the first scanned image; and
comparing sequential scanned images by the second image sensor to collect the skew data to yield a skew deviation.
27. The method of claim 26, further comprising:
comparing the skew deviation against a maximum deviation limit; and
generating an alert if the skew deviation exceeds the maximum deviation limit.
28. The method of claim 26, further comprising adjusting the uncorrected scanned image by the skew deviation to yield a corrected scanned image.
29. An image scanning device for verifying accuracy of a printed area, the image scanning device comprising:
a housing;
an image scanning engine attached to the housing, the image scanning module being operative to scan an image that is utilized to represent a data value;
a decoding engine configured to decode the scanned image to yield data about the image;
an image verification engine configured that utilizes the data to verify that the image accurately reflects the data value, wherein the image is one of a one-dimensional and two-dimensional barcode, the image verification module is operable to verify accuracy of both one-dimensional and two-dimensional barcodes in compliance with ISO, GS1, other industry standards, or other testing methodologies.
30. An image scanning device for verifying accuracy of an area of text, the image scanning device comprising:
a housing;
an image scanning engine attached to the housing, the image scanning module being operative to scan an image that is utilized to represent a data value;
a decoding engine configured to decode the scanned image to yield data about the image;
an image verification engine configured that utilizes the data to verify that the image accurately reflects the intended data value; and
an adaptable aperture a size of which the image scanning engine configures in response to the data about the image and the image is one of a one-dimensional and two-dimensional barcode, the image verification engine is operable to verify accuracy of both one-dimensional and two-dimensional barcodes in compliance with ISO, GS1, other industry standards, or other testing methodologies.
31. An image scanning device for verifying accuracy of a printed area, the image scanning device comprising:
a housing;
an image scanning engine attached to the housing, the image scanning module being operative to scan an image that is utilized to represent a data value;
a decoding engine configured to decode the scanned image to yield data about the image;
an image verification engine that utilizes the data to verify that the image accurately reflects the intended data value; and wherein the image scanning module and the image verification module is operable to verify the accuracy of printed text in multiple character sets (including but not exclusive to ISO-8859, ISO-8859-2, ISO-8859-5, ISO-2022-jp character sets) in compliance with ISO, other industry standards, or other testing methodologies.
32. An image scanning device for verifying accuracy of a printed area, the image scanning device comprising:
a housing;
an image scanning engine attached to the housing, the image scanning module being operative to scan an image that is utilized to represent a data value;
a decoding engine configured to decode the scanned image to yield data about the image;
an image verification engine configured that utilizes the data to verify that the image accurately reflects the intended data value; and wherein the image scanning module and the image verification module is operable to verify the accuracy of both printed graphics and printed artwork in compliance with ISO, other industry standards, or other testing methodologies.
US13/731,757 2012-01-12 2012-12-31 Image scanning apparatus and methods of using the same Expired - Fee Related US8736914B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/731,757 US8736914B2 (en) 2012-01-12 2012-12-31 Image scanning apparatus and methods of using the same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261586098P 2012-01-12 2012-01-12
US13/731,757 US8736914B2 (en) 2012-01-12 2012-12-31 Image scanning apparatus and methods of using the same

Publications (2)

Publication Number Publication Date
US20130182294A1 US20130182294A1 (en) 2013-07-18
US8736914B2 true US8736914B2 (en) 2014-05-27

Family

ID=48779770

Family Applications (1)

Application Number Title Priority Date Filing Date
US13/731,757 Expired - Fee Related US8736914B2 (en) 2012-01-12 2012-12-31 Image scanning apparatus and methods of using the same

Country Status (1)

Country Link
US (1) US8736914B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190212955A1 (en) 2018-01-05 2019-07-11 Datamax-O'neil Corporation Methods, apparatuses, and systems for verifying printed image and improving print quality
US10546160B2 (en) 2018-01-05 2020-01-28 Datamax-O'neil Corporation Methods, apparatuses, and systems for providing print quality feedback and controlling print quality of machine-readable indicia
US10803264B2 (en) 2018-01-05 2020-10-13 Datamax-O'neil Corporation Method, apparatus, and system for characterizing an optical system
US10834283B2 (en) 2018-01-05 2020-11-10 Datamax-O'neil Corporation Methods, apparatuses, and systems for detecting printing defects and contaminated components of a printer

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015107730B4 (en) * 2015-05-18 2020-07-23 Hmgeb Holding B.V. Blister tape inspection device
EP3625609A4 (en) * 2017-11-30 2021-03-03 Leica Biosystems Imaging, Inc. Impulse rescan system

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5023922A (en) * 1985-06-07 1991-06-11 Soricon Corporation Optical character reader
US5804805A (en) * 1986-08-08 1998-09-08 Norand Technology Corporation Hand-held optical indicia reader having a controlled oscillating system for optimal indicia reading
US5969321A (en) * 1986-08-08 1999-10-19 Norand Corporation Hand-held optically readable information set reader with operation over a range of distances
US20020117547A1 (en) * 1994-06-30 2002-08-29 Mark Krichever Apparatus and method for reading indicia using charge coupled device and scanning laser beam technology
US20030029915A1 (en) * 2001-06-15 2003-02-13 Edward Barkan Omnidirectional linear sensor-based code reading engines
US6889903B1 (en) * 1988-08-31 2005-05-10 Intermec Ip Corp. Method and apparatus for optically reading information
US20080144053A1 (en) * 2006-10-12 2008-06-19 Ken Gudan Handheld printer and method of operation
US8600196B2 (en) * 2006-09-08 2013-12-03 Google Inc. Optical scanners, such as hand-held optical scanners

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5023922A (en) * 1985-06-07 1991-06-11 Soricon Corporation Optical character reader
US5804805A (en) * 1986-08-08 1998-09-08 Norand Technology Corporation Hand-held optical indicia reader having a controlled oscillating system for optimal indicia reading
US5969321A (en) * 1986-08-08 1999-10-19 Norand Corporation Hand-held optically readable information set reader with operation over a range of distances
US6889903B1 (en) * 1988-08-31 2005-05-10 Intermec Ip Corp. Method and apparatus for optically reading information
US20020117547A1 (en) * 1994-06-30 2002-08-29 Mark Krichever Apparatus and method for reading indicia using charge coupled device and scanning laser beam technology
US20030029915A1 (en) * 2001-06-15 2003-02-13 Edward Barkan Omnidirectional linear sensor-based code reading engines
US8600196B2 (en) * 2006-09-08 2013-12-03 Google Inc. Optical scanners, such as hand-held optical scanners
US20080144053A1 (en) * 2006-10-12 2008-06-19 Ken Gudan Handheld printer and method of operation

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190212955A1 (en) 2018-01-05 2019-07-11 Datamax-O'neil Corporation Methods, apparatuses, and systems for verifying printed image and improving print quality
US10546160B2 (en) 2018-01-05 2020-01-28 Datamax-O'neil Corporation Methods, apparatuses, and systems for providing print quality feedback and controlling print quality of machine-readable indicia
US10795618B2 (en) 2018-01-05 2020-10-06 Datamax-O'neil Corporation Methods, apparatuses, and systems for verifying printed image and improving print quality
US10803264B2 (en) 2018-01-05 2020-10-13 Datamax-O'neil Corporation Method, apparatus, and system for characterizing an optical system
US10834283B2 (en) 2018-01-05 2020-11-10 Datamax-O'neil Corporation Methods, apparatuses, and systems for detecting printing defects and contaminated components of a printer
US10999460B2 (en) 2018-01-05 2021-05-04 Datamax-O'neil Corporation Methods, apparatuses, and systems for detecting printing defects and contaminated components of a printer
US11157217B2 (en) 2018-01-05 2021-10-26 Datamax-O'neil Corporation Methods, apparatuses, and systems for verifying printed image and improving print quality
US11210483B2 (en) 2018-01-05 2021-12-28 Datamax-O'neil Corporation Method, apparatus, and system for characterizing an optical system
US11301646B2 (en) 2018-01-05 2022-04-12 Datamax-O'neil Corporation Methods, apparatuses, and systems for providing print quality feedback and controlling print quality of machine readable indicia
US11570321B2 (en) 2018-01-05 2023-01-31 Datamax-O'neil Corporation Methods, apparatuses, and systems for detecting printing defects and contaminated components of a printer
US11625203B2 (en) 2018-01-05 2023-04-11 Hand Held Products, Inc. Methods, apparatuses, and systems for scanning pre-printed print media to verify printed image and improving print quality
US11893449B2 (en) 2018-01-05 2024-02-06 Datamax-O'neil Corporation Method, apparatus, and system for characterizing an optical system
US11900201B2 (en) 2018-01-05 2024-02-13 Hand Held Products, Inc. Methods, apparatuses, and systems for providing print quality feedback and controlling print quality of machine readable indicia
US11943406B2 (en) 2018-01-05 2024-03-26 Hand Held Products, Inc. Methods, apparatuses, and systems for detecting printing defects and contaminated components of a printer
US11941307B2 (en) 2018-01-05 2024-03-26 Hand Held Products, Inc. Methods, apparatuses, and systems captures image of pre-printed print media information for generating validation image by comparing post-printed image with pre-printed image and improving print quality

Also Published As

Publication number Publication date
US20130182294A1 (en) 2013-07-18

Similar Documents

Publication Publication Date Title
US8736914B2 (en) Image scanning apparatus and methods of using the same
EP3074915B1 (en) Optical code reading system with dynamic image regionalization
US10402956B2 (en) Image-stitching for dimensioning
US10438036B1 (en) System and method for reading and decoding ID codes on a curved, sloped and/or annular object
US10249030B2 (en) Image transformation for indicia reading
US9420205B2 (en) Image acquisition method of object on supporting surface
US8668150B2 (en) Systems, methods, and apparatus for overhead scanning of images in a manual distribution environment
JP5525636B2 (en) Optoelectronic device and calibration method for measuring the size of a structure or object
GB2531928A (en) Image-stitching for dimensioning
WO2001026035A2 (en) Triggerless optical reader with signal enhancement features
US9946947B2 (en) System and method for finding saddle point-like structures in an image and determining information from the same
JP6241052B2 (en) Image processing system and image processing program
JPWO2016158812A1 (en) Color measuring device and color measuring method
JP2021039734A (en) Specification of module size of optical code
US8910866B2 (en) Code reader and method for the online verification of a code
US9270892B2 (en) Optoelectronic device and method for brightness correction
Duchon et al. Reliability of barcode detection
WO2005048171A1 (en) Method and apparatus for imaging through glossy surfaces and/or through transparent materials
WO2011123057A1 (en) Apparatus and methods for acquiring and analysing images of a pallet load
JP2021168357A (en) Lifted planar substrate detecting system
JP2015175607A (en) Image acquisition device and inspection device
JP2006172267A (en) System for recognizing symbol on mobile object
ITMO20110280A1 (en) METHOD OF ACQUISITION OF IMAGES
ITMO20110279A1 (en) METHOD OF ACQUISITION OF IMAGES
JP2017219432A (en) Braille inspection equipment and method

Legal Events

Date Code Title Description
AS Assignment

Owner name: RJS TECHNOLOGIES INC, MINNESOTA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:FRENCH, CHRISTOPHER I;REEL/FRAME:032425/0571

Effective date: 20140304

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551)

Year of fee payment: 4

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20220527