PDF417 Code Reader vTool#
The PDF417 Code Reader can detect and decode PDF417 codes in images it receives via the Image input pin. It outputs the results via the Regions and Texts output pins.
The region output contains the region in which a PDF417 code was found. The text output is the text string encoded by the PDF417 code.
If you use the ROI Creator vTool to specify a region of interest before detection, the PDF417 Code Reader accepts the ROI data via its Roi input pin. This reduces the area of the image in which the PDF417 Code Reader searches for codes which helps to eliminate false candidates. As a side effect, processing will be faster and more robust.
PDF417 Code Reader Versions#
Two versions of the PDF417 Code Reader are available. The following table shows the differences between the versions. Click a version in the table heading to jump directly to the relevant section in this topic.
Basic | Pro | |
---|---|---|
How many PDF417 codes can you detect? | 3 | Unlimited |
Can you specify a timeout for detection? | Yes | Yes |
Which module sizes are allowed? | Side lengths between 3–15 pixels | Side lengths between 2–100 pixels |
How many columns are allowed? | 1–20 | 1–30 |
How many rows are allowed? | 5–45 | 3–90 |
What is the maximum allowed aspect ratio (width to height)? | 1:4 | 1:10 |
Can you detect light-on-dark PDF417 codes? | No This requires a preprocessing step. | Yes |
Can you detect mirrored PDF417 codes? | Yes | Yes |
Is the Enhanced detection mode available? | No | Yes |
Valid data types for Roi input pin | RectangleF, RectangleF Array, Region, Region Array | RectangleF, RectangleF Array, Region, Region Array |
How It Works#
Depending on the version of the PDF417 Code Reader, you can detect up to three or an unlimited number of PDF417 codes in an image.
You can specify a timeout to end detection after a certain amount of time. If you know that your images only contain one PDF417 code, configuring the PDF417 Code Reader to only look for one code may save processing time.
Common Use Cases#
- Reading PDF417 codes: In this case, you only need to connect the Texts output pin to output the decoded strings.
- Determining the positions of PDF417 codes: Use the positions and sizes of the PDF417 codes returned by the Regions output pin for subsequent processing.
PDF417 Code Reader Basic#
You can detect up to three PDF417 codes in an image. Limiting the number to the expected number of codes in an image may save processing time.
Detection Criteria#
For PDF417 codes to be detected and decoded, they must meet the following criteria:
- Module size: The sides of individual modules must be between 3 and 15 pixels long.
- Row and column limits: See PDF417 Code Reader Versions table for details.
- Polarity: PDF417 codes must be dark-on-light patterns. For light-on-dark patterns, run a preprocessing step to invert the input image, e.g., by using the Gray Value Transformer vTool.
- Mirroring: PDF417 codes mirrored vertically, horizontally, or both can be detected.
- Legibility: Codes must be free from visual flaws, e.g., no reflections or smudging, and must have sufficient resolution.
Timeout#
For time-critical applications you can specify a timeout. A timeout helps in cases where the processing time varies or can't be foreseen, for example, if the image doesn't contain a PDF417 code. Once the specified timeout is exceeded, the detection process stops and moves on to the next image.
Basler recommends setting the timeout a bit lower than the desired time limit. This is because the vTool doesn't stop the detection process immediately. Therefore, set the timeout to 70–80 % of the desired time limit.
Configuring the vTool#
To configure the PDF417 Code Reader Basic vTool:
- In the Recipe Management pane in the vTool Settings area, click Open Settings or double-click the vTool.
The PDF417 Code Reader Basic dialog opens. - In the Number of PDF417 Codes area, select how many PDF417 codes you want to detect.
- In the Timeout area, specify whether you want detection to end after a certain amount of time. If you want to specify a timeout, clear the No timeout check box and enter the desired timeout in the input field.
You can view the result of the PDF417 Code Reader Basic in a pin data view. Here, you can select which outputs to display.
PDF417 Code Reader Pro#
You can detect an unlimited number of PDF417 codes in an image. Limiting the number to the expected number of codes in an image may save processing time.
Detection Criteria#
For PDF417 codes to be detected and decoded, they must meet the following criteria:
- Module size: The sides of individual modules must be between 2 and 100 pixels long.
- Row and column limits: See PDF417 Code Reader Versions table for details.
- Polarity: PDF417 codes can be dark-on-light or light-on-dark patterns or a mixture of both.
- Mirroring: PDF417 codes mirrored vertically, horizontally, or both can be detected.
- Legibility: Codes with visual flaws, e.g., reflections or smudging, and with low resolution can be detected.
Detection Mode#
In Enhanced detection mode, the PDF417 Code Reader is more tolerant regarding the quality of the PDF417 codes. This means that codes that don't meet all the detection criteria will still be detected. Enabling this option slows down the detection process.
Timeout#
For time-critical applications you can specify a timeout. A timeout helps in cases where the processing time varies or can't be foreseen, for example, if the image doesn't contain a PDF417 code. Once the specified timeout is exceeded, the detection process stops and moves on to the next image.
Basler recommends setting the timeout a bit lower than the desired time limit. This is because the vTool doesn't stop the detection process immediately. Therefore, set the timeout to 70–80 % of the desired time limit.
Configuring the vTool#
To configure the PDF417 Code Reader Pro vTool:
- In the Recipe Management pane in the vTool Settings area, click Open Settings or double-click the vTool.
The PDF417 Code Reader Pro dialog opens. - In the Number of PDF417 Codes area, select how many PDF417 codes you want to detect. Select Unlimited if the maximum number of codes to be detected is not known.
- Select the Use enhanced detection check box if desired.
- In the Polarity drop-down list, select the option appropriate for your application.
If codes in your application have a specific polarity, select the setting accordingly. If the polarity of the codes in the images is not known or multiple codes with different polarities occur, select Any. - In the Timeout area, specify whether you want detection to end after a certain amount of time. If you want to specify a timeout, clear the No timeout check box and enter the desired timeout in the input field.
You can view the result of the PDF417 Code Reader Pro in a pin data view. Here, you can select which outputs to display.
Inputs#
Image#
Accepts images directly from a Camera vTool or from a vTool that outputs images, e.g., the Image Format Converter vTool.
- Data type: Image
- Image format: 8-bit mono or color images. Color images are converted internally to mono images.
Roi#
Accepts a region of interest from the ROI Creator vTool or any other vTool that outputs regions or rectangles. Multiple rectangles or regions are merged internally to form a single region of interest.
- Data type: RectangleF, RectangleF Array, Region, Region Array
Outputs#
Texts#
Returns the text string encoded in a PDF417 code.
- Data type: String Array
Regions#
Returns the region of every PDF417 code found. The region is of rectangular shape. It can be used for visualization purposes or for subsequent feature extraction.
- Data type: Region Array
Related vTools#
Typical Predecessors#
Typical Successors#
- Region Feature Extraction vTool
Allows you to determine the center, size, and orientation of the PDF417 codes found.