GradeQRCode
Grades a QR code according to ISO / IEC 15415:2011. Requires uniform illumination, good focus and the image sensor plane parallel to the code plane to achieve meaningful results.
Can use available TwinCAT Job Tasks for executing parallel code regions.
Can return partial results when canceled by Watchdog.
Syntax
Definition:
HRESULT GradeQRCode(
HRESULT hrPrev,
ITcVnImage* ipSrcImage,
ITcVnContainer*& ipDecodedData,
TcVnCodeGradesQR& stCodeGrades,
float fModuleWidth,
float& fAngleDeg,
ITcVnImage** pipResultVisualization = nullptr,
ITcVnContainer** pipMarginGrades = nullptr,
ITcVnContainer** pipContour = nullptr
)
Parameters
Name |
Type |
Default |
Description |
---|---|---|---|
hrPrev |
|
HRESULT indicating the result of previous operations (If SUCCEEDED(hrPrev) equals false, no operation is executed.) | |
ipSrcImage |
|
Source image, only containing the QR code region (USINT, 1 channel, including quiet zone) | |
ipDecodedData |
|
Returns the decoded data (ContainerType_String_SINT) | |
stCodeGrades |
|
Returns the code grades in the range from 0 (very bad) to 4 (very good) | |
fModuleWidth |
float |
|
Minimum module width of the code in the image (in pixels). Must be at least 3, preferably 5 - 8. |
fAngleDeg |
float& |
|
Returns the clockwise rotation angle in degree |
pipResultVisualization |
nullptr |
Returns a visualization of the scan grid (optional, set to 0 if not required). Module margin grades are color coded: >= 3 as green, >= 2 as light blue, >= 1 as orange, < 1 as red | |
pipMarginGrades |
nullptr |
Returns the individual margin grade for each module, e.g. to create a custom visualization (optional, set to 0 if not required; ContainerType_Vector_TcVnVector3_REAL, containing [x-position, y-position, grade]) | |
pipContour |
nullptr |
Returns the 4 code corner points, excluding the quiet zone (optional, set to 0 if not required; ContainerType_Vector_TcVnPoint2_DINT) |
Required License
TC3 Vision Code Quality
System Requirements
Development environment | Target platform | PLC libraries to include |
---|---|---|
TwinCAT V3.1.4024.59 or later | PC or CX (x64) with min. PL50, e.g. Intel 4-core Atom CPU | Tc3_Vision |