F_VN_AnalyzeBarcodeWalsh
Analyze an exemplary barcode image and estimate the following parameters for calls of F_VN_DetectBarcodesWalsh: nMaxBarDistance, fMinAspectRatio, fMaxAspectRatio, nIntensityDifference, nMinArea, and nChannelIndex. The depicted barcode must be representative for the barcodes to be detected by F_VN_DetectBarcodesWalsh.
Can use available TwinCAT Job Tasks for executing parallel code regions.
Syntax
Definition:
FUNCTION F_VN_AnalyzeBarcodeWalsh : HRESULT
VAR_INPUT
ipBarcodeImage : ITcVnImage;
END_VAR
VAR_IN_OUT
stParams : TcVnParamsWalshBarcodeDetection;
END_VAR
VAR_INPUT
hrPrev : HRESULT;
END_VARInputs
|
Name |
Type |
Description |
|---|---|---|
|
ipBarcodeImage |
Image showing a horizontal barcode surrounded by a narrow non-barcode region in each direction. The total size of the non-barcode region must not exceed 30% of the image size. | |
|
hrPrev |
HRESULT indicating the result of previous operations (If SUCCEEDED(hrPrev) equals false, no operation is executed.) |
In/Outputs
|
Name |
Type |
Description |
|---|---|---|
|
stParams |
Returns the estimated parameters for use with F_VN_DetectBarcodesWalsh. The values of the other parameters are not changed. |
Weiterführende Informationen
Die Funktion F_VN_AnalyzeBarcodeWalsh analysiert ein Referenzbild mit einem repräsentativen Barcode und schätzt einen Teil der Detektionsparameter für die spätere Verwendung von F_VN_DetectBarcodesWalsh.
Parameter
ipBarcodeImage
Das Eingangsbild ipBarcodeImage muss einen einzelnen, horizontal ausgerichteten Barcode enthalten, der von einem schmalen Randbereich (Ruhezone) ohne Inhalt umgeben ist. Der Anteil dieser Ruhezone darf insgesamt nicht mehr als 30 % der Bildfläche betragen. Das Bild sollte frei von Störungen, starker Perspektivverzerrung oder Rotation sein.
Um eine zuverlässige Schätzung zu gewährleisten, muss das Referenzbild möglichst genau den Bedingungen der später zu analysierenden Bilder entsprechen: gleicher Barcodetyp, vergleichbare Modulbreite (Strichbreite der schmalsten Linie) und ähnlicher Helligkeitskontrast zwischen dunklen und hellen Modulen. Das gleiche gilt für das Hardware-Setup, da dadurch z.B. die Auflösung der Linien und die Helligkeit des Bildes und somit der Kontrast bestimmt werden.
stParams
Mit stParams vom Typ TcVnParamsWalshBarcodeDetection werden die einzelnen Parameter der Barcode-Detektion mit F_VN_DetectBarcodesWalsh konfiguriert. F_VN_AnalyzeBarcodeWalsh schätzt und überschreibt ausschließlich die folgenden Felder:
nMaxBarDistance: Maximaler Abstand zwischen zwei aufeinanderfolgenden dunklen oder hellen Balken in PixelnfMinAspectRatio/fMaxAspectRatio: Minimales und maximales Seitenverhältnis (Breite / Höhe) gültiger Code-RegionennIntensityDifference: Mittlere Intensitätsdifferenz zwischen dunklen und hellen Code-PixelnnMinArea: Erwartete minimale Code-Fläche in PixelnnChannelIndex: Farbkanal-Index für die interne Verarbeitung
Alle übrigen Felder nWalshFilterNum, fOutlierReductionFactor, fBarConnectionFactor, fRegionFilterFactor, fPostProcessingResizeFactor, eInterpolationType werden nicht verändert und behalten ihre Initialwerte oder zuvor gesetzten Werte.
Required License
TC3 Vision Code Reading
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 |