- 一、概述
- 二、模块
- 2.1 Image Acquisition
- 2.2 Region Of Interest
- 2.3 Blob Analysis
- 2.4 1D Measuring
- 2.5 Edge Extraction(Pixel-Precise)
- 2.6 Edge Extraction(Subpixel-Precise)
- 2.7 Deflectometry
- 2.8 Contour Processing
- 2.9 2D Matching
- 2.10 3D Matching
- 2.11 Variation Model
- 2.12 Classification
- 2.13 Color Processing
- 2.14 Texture Analysis
- 2.15 Bar Code
- 2.16 Data Code
- 2.17 OCR(character classification)
- 2.18 OCR(Deep OCR)
- 2.19 Stereo Vision
- 2.20 Visualization
- 2.21 Compute Devices
- 2.22 I/O Devices
一、概述
二、模块
2.1 Image Acquisition
Basic Concept
- Open Image Acquisition Device
- Acquire Image(s)
- Close Image Acquisition Device
-
Extended Concept
Open Image Acquisition Device
- Set Parameters
-
Programming Examples
Selecting Operators
Open Image Acquisiton Device
- Set Parameters
- Acquire Image(s)
Close Image Acquisition Device
Tips & Tricks
Direct Access to External Images in Memory
Unsupported Image Acquisition Devices
2.2 Region Of Interest
Basic Concept
Create Region
- Create ROI
-
Extended Concept
Segment Image(s)
- Draw Region
- Create Region
- Process Regions
- Align ROIs or Images
- Create ROI
-
Programming Examples
Processing Inside a User Defined Region
- Interactive Partical Filitering of an Image
Inspecting the Contours of a Tool
Selecting Operators
Segment Image(s)
- Draw Region
- Create Region
- Process Regions
- Align ROIs or Images
- Create ROI
-
Relation to Other Methods
Tips & Tricks
Reuse ROI
- Effect of ROI Shape on Speed UP
-
2.3 Blob Analysis
Basic Concept
Acquire Image(s)
- Segment Image(s)
- Extract Features
-
Extended Concept
Use Region of Interest
- Align ROIs or Images
- Rectify Image(s)
- Prepocess Image(s) (Filtering)
- Extract Segmentation Parameters
- Segment Image(s)
- Process Regiions
- Extract Features
- Transform Results Into World Coordinates
-
Programming Examples
Crystals
- Atoms
- Analyzing Particles
- Extracting Forest Features from Color Infrared Image
- Checking a Boundary for Fins
- Bonding Balls
-
Selecting Operators
Acquire Image(s)
- Use Region of Interest
- Align ROIs or Images
- Rectify Image(s)
- Preprocess Image(s)(Filtering)
- Extract Segmentation Parameters
- Segment Image(s)
- Process Regions
- Extract Features
- Transform Results Into World Coordinates
-
Relation to Other Methors
Methods that are Useful for Blob Analysis
- Methods that are Using Blob Analysis
-
Tips & Tricks
Connected Components
-
Advanced Topics
Line Scan Cameras
-
2.4 1D Measuring
Basic Concept
Acquire Image(s)
- Create Measure Object
-
Extended Concept
Radiometrically Calibrate Image(s)
- Align ROIs or Images
- Rectify Image(s)
- Create Measure Object
- Transform Results Into World Coordinates
-
Programming Example
Inspecting a Fuse
- Inspect Cast Part
- Inspecting an IC Using Fuzzy Measuring
- Measuring Leads of a Moving IC
-
Selecting Operators
-+Acquire Image(s)
- Radiometrically Calibrate Image(s)
- Align ROIs or Images
- Rectify Image(s)
- Create Measure Object
- Measure
- Transform Results Into World Coordinates
-
Tips & Tricks
Suppress Cluteer or Noise
- Reuse Measure Object
Use an Absolute Gray Value Threshold
Advanced Topics
Fuzzy Measuring
-
2.5 Edge Extraction(Pixel-Precise)
Edge Extraction Using Edge Filters
Basic Concept
- A First Example
- Extended Concept
- Programming Examples
- Selecting Operators
- Relation to Other Methods
-
Deep-Learning-Based Edge Extraction
Concept
-
2.6 Edge Extraction(Subpixel-Precise)
Basic Concept
Acquire Image(s)
- Extract Edges Or Lines
-
Extended Concept
Radiometrically Calibrate Image(s)
- Use Region Of Interest
- Extract Edges Or Lines
- Detemine Contours Attributes
- Process XLD Contours
- Transform Results Into World Coordinates
-
Programming Examples
Measuring the Diameter of Drilled Holes
-
Selecting Operators
Acuqire Image(s)
- Radiometrically Calibrate Image(s)
- Use Region Of Interest
- Extract Edges Or Lines
- Determine Contour Attributes
- Process XLD Contours
- Transform Results Into World Coordinates
-
Relation to Other Methods
Alternatives to Edge Extractiong(Subpixel-Precise)
2.7 Deflectometry
Basic Concept
Create Structured Light Model
- Set Model Parameters
- Generate Pattern Images
- Acquire Images
- Decode Images
-
Programming Examples
Inspecting a Tap Collar
Inspectiong a Partially Specular Surface
Tips & Tricks
Set Up the Measurement
- Check the Decoding Results
- Synchronize the Camera with the Pattern Source
Speed Up the Acquisition Process
2.8 Contour Processing
Basic Concept
Create XLD Contours
- Process XLD Contours
- Perform Fitting
- Extract Features
-
Extended Concept
Create XLD Contours
- Process XLD Contours
- Perform Fitting
- Transform Results Into World Coordinates
- Extract Features
- Convert And Access XLD Contours
-
Programming Examples
Measuring Lines and Arcs
- Close Gaps in a Contour
- Calculate Pointwise Distance between XLD Contours
-
Selecting Operators
Create XLD Contours
- Process XLD Contours
- Perform Fitting
- Transform Results Into World Coordinate
- Extract Features
- Convert And Access XLD Contours
-
Relation to Other Methods
Alternatives to Contour Processing
Advanced Topics
-
2.9 2D Matching
Basic Concept
Acquire Image(s)
- Create (Train) Model
-
Programming Examples
A First Example
- Correlation-based Matching: Find Label in Texture
- Shape-based Matching: Align the Image to Read Text
- Component-based Matching: Check the State of a Dip Switch
- Local Deformable Matching: Find Deformed Logo
- Perspective Deformable Matching: Locate Road Signs
Descriptor-based Matching: Locate Brochure Pages
Relation to Other Methods
Methods that are Using Matching
-
2.10 3D Matching
Basic Concept
Access 3D Object Model
- Create Approach-Specific 3D Model
- Acquire Searech Data
- Find Approach-Specific 3D Model
-
Extended Concept
Inspect 3D Object Model
- Inspect Approach-Specific 3D Model
- Re-use Approach-Specific 3D Model
- Use Region of Interest
-
Programming Examples
Recognize 3D Clamps and Their Poses in Images
Recognize Pipe Joints and Their Poses in a 3D Scene
Selecting Operators
Access 3D Object Model
- Inspect 3D Object Model
- Create Approach-Specific 3D Model
- Inspect Approach-Specific 3D Model
- Re-use Approach-Specific 3D Model
- Acquire Search Data
- Use Region Of Interest
- Find Approach-Specifiic 3D Model
-
Relation to Other Methods
-
2.11 Variation Model
Basic Concept
Acquire Image(s)
- Create Variation Model
- Align ROIs or Images
- Train Variation Model
- Prepare Variation Model
- Compare Variation Model
-
Extended Concept
Check Model Quality
- Clear Training Data
-
Programming Example
Inspect a Printed Logo Using a Single Reference Image
Inspect a Printed Logo under Varying Illumination
Selecting Operators
Acquire Image(s)
- Create Variation Model
- Align ROIs or Images
- Train Variation Model
- Check Model Quality
- Prepare Variation Model
- Compare Variaiton Model
-
2.12 Classification
Basic Concept
Acquire Image(s)
- Create Classifier
- Train Classifier
- Classify Data
-
Extended Concept
Train Classifier
- Re-use Trainging Samples
- Re-use Classifier
- Evaluate Classifier
-
Programming Concept
Inspection of Plastic Meshes via Texture Classification
Classification with Overlapping Classes
Selecting Operators
Acquire Image(s)
- Create Classifier
- Train Classifier
- Re-use Training Samples
- Re-use Classifier
- Evaluate Classifier
- Classify Data
-
Relation to Other Methods
Methods that are Useful for Classification
- Methods that are Using Classification
Alternatives to Classification
Tips & Tricks
OCR for General Classification
Advanced Topics
-
2.13 Color Processing
Basic Concept
Acquire Image(s)
- Decompose Channels
- Process Image (Channels)
-
Extended Concept
Demosaick Bayer Pattern
- Transform Color Space
- Train Colors
- Use Region Of Interest
- Classify Colors
- Compose Channels
-
Programming Examples
Robust Color Extraction
- Sorting Fuses
- Completeness Check of Colored Game Pieces
- Inspect Power Supply Cables
Locating Board Components by Color
Selecting Operators
Acquire Image(s)
- Demosaick Bayer Pattern
- Decompose Channels
- Transform Color Space
- Train Colors
- Use Region Of Interest
- Process Image(Channels)
- Classify Colors
- Compose Channels
-
Tips & Tricks
-
Advanced Topics
Color Edge Extraction
-
2.14 Texture Analysis
Basic Concept
Acquire Image(s)
- Apply Texture Filter
- Compute Features
-
Extended Concept
Rectify Image(S)
- Scale Down Image(s)
- Use Region of Interest
- Align ROIs or Images
- Apply Texture Filter
- Compute Features
- Visualize Results
-
Programming Examples
Detect Defects in a Texture with Novelty Detection
- Detect Defects in a Web Using Dynamic Thresholding
Classification of Different Types of Wood
Selecting Operators
Acquire Image(s)
-
Relation to Other Methods
Methods that are Using Texture Analysis
Advanded Topics
Fast Fourier Transform(FFT)
Texture Analysis in Color Images
More Information About Texture Features
Entropy and Anisotropy(entropy_gray)
- Cooccurrence Matrix(gen_cooc_matrix)
Features of the Cooccurence Matrix
More Information About Texture Filtering
-
2.15 Bar Code
Basic Concept
Acquire Image(s)
- Create Bar Code Model
- Read Bar Code(s)
-
Extended Concept
Use Region Of Interest
- Preprocess Image(s)
- Rectify Image(s)
- Create Bar code Model
- Adjust Bar Code Model
- Read Bar Code(s)
- Check Print Quality
-
Programming Examples
How to Read Difficult Barcodes
- Reading a Bar Code on a CD
Checking Bar Code Print Quality
Selecting Operators
Acquire Image(s)
- Use Region Of Interest
- PreProcess Image(s)
- Rectify Image(s)
- Create Bar Code Model
- Adjust Bar Code Model
- Read Bar Code(s)
- Check Print Quality
-
Relation to Other Methods
-
Advanced Topics
-
2.16 Data Code
Basic Concept
Acquire Image(s)
- Create Data Code Model
- Read Data Code(s)
-
Extended Concept
Acquire Image(s)
- Rectify Image(s)
- Create Data Code Model
- Optimize Model
- Train Model
- Use Region Of Interest
- Read Data Code(s)
- Inspect Data Code(s)
- Check Print Quality
-
Programming Examples
Training a Data Code Model
Reading 2D Data Codes on Chips
Selecting Operators
Acquire Image(s)
- Rectify Image(s)
- Create Data Code Model
- Optimize Model
- Train Model
- Use Region Of Interest
- Read Data Code(s)
- Inspect Data Code(s)
- Check Print Quality
-
Advanced Topics
-
2.17 OCR(character classification)
Basic Concept
Acquire Image(s)
- Segment Image(s)
- Train OCR
- Read Symbol
-
Extended Concept
Use Region of Interest
- Align ROIs or Images
- Rectify Image(s)
- Preprocess Image(s) (Filtering)
- Extrract Segmentation Parameters
- Segment Image(s)
- Train OCR
- Read Symbol
-
Programming Examples
Generating a Training File
- Creating and Training an OCR Classifier
- Reading Numbers
- “Best Before” Date
- Reading Engraved Text
- Reading Forms
- Segment and Select Characters
Syntactic and Lexicon-Based Auto-Correctiong of OCR Results
Selecting Operators
Acquire Image(s)
- Use Region of Interest
- Align ROIs or Images
- Rectify Image(s)
- Preprocess Image(s) (Filtering)
- Extract Segmentation Parameters
- Segment Image(s)
- Train OCR
- Read Symbol
-
Relation to Other Methods
-
Tips & Tricks
-
Advanced Topics
Line Scan Cameras
- Circular Prints
-
Pretrained OCR Fonts
Pretrained Fonts with Regularized Weights and Rejection Class
- Nomenclature for the Ready-to-Use OCR Fonts
- Ready-to-Use OCR Font ‘Document’
- Ready-to-Use OCR Font ‘DotPrint’
- Ready-to-Use OCR Font ‘HandWritten_0-9’
- Ready-to-Use OCR Font ‘Industrial’
- Ready-to-Use OCR Font ‘OCR-A’
- Ready-to-Use OCR Font ‘OCR-B’
- Ready-to-Use OCR Font ‘Pharma’
- Ready-to-Use OCR Font ‘SEMI’
Ready-to-Use OCR Font ‘Universal’
2.18 OCR(Deep OCR)
Basic Concept
Offline Phase
-
Programming Examples
Large images
Relation to Other Methods
2.19 Stereo Vision
Basic Concept
Acquire Calibration Image(s)
- Calibrate Sterro Camera System
- Acquire Stereo Image(s)
- Rectify Image(s)
-
Extended Concept
Use Region Of Interest
- Transform Results Into World Coordinates
-
Programming Examples
Segment the Components of a Board With Binocular Stereo
Reconstruct the Surface of Pipe Joints With Multi-View Stereo
Selecting Operators
Calibrate Stereo Camera System
- Acquire Image(s)
- Rectify Image(s)
- Use Region Of Interest
- Reconstruct 3D Information
- Transform Results Into World Coodinates
-
Relation to Other Method
Methods that are Using Stereo Vision
Tips & Tricks
-
Advanced Topics
-
2.20 Visualization
Basic Concept
Handling Graphics Windows
- Displaying
-
Extended Concept
Handling Graphics Windows
- Displaying
-
Programming Examples
Displaying HALCON data structures
Selecting Operators
Handling Graphics Windows
- Displaying
-
Tips & Tricks
Saving Window Content
-
Advanced Topics
Programming Environments
- Flicker-Free Visualization
- Visuralization Quality for Regions when Zooming
- Remote Visualiztion
-
2.21 Compute Devices
Basic Concept
Query Available Compute Devices
- Open Compute Device
- Initialize Compute Device
- Activate Compute Device
- Perform Calculation on Compute Device
- Deactivate Compute Device
-
Extended Concept
Get Information about Compute Device(s)
- Open Compute Device
- View/Edit Compute Device Parameters
- Initialize Compute Device
- Activate Compute Device
- Perform Calculation on Compute Device
- Deactivate Compute Device
-
Programming Example
How to Use Compute Devices With HALCON
Tips and Tricks
Speed Up
- Measuring Execution Times
- Exchanging or Simulating Operators that do not support Compute Devices
- Limitiations
-
Technical Details
Operators Supporting Compute Devices
2.22 I/O Devices
Basic Concept
Open Connection
- Read/Write Values
- Close ImageAcquisition Device
-
Extended Concept
Control I/O Device Interface
- Open Connection
-
Programming Examples
Selecting Operators
Open Connection to I/O device
- Set Parameters
- Read/Write Value(s)
Close Connection to I/O device
Tips & Tricks
Unsupported I/O Devices