The visual development environment
for industrial image processing
-
Time constraints and high complexity are central problems for our users in their image processing projects. The swiftness and ease of use of nVision, with its individual customisation options, make it the right solution. The software convinces with its pioneering, intuitive, visually pleasing user interface and its reliability.
A manufacturer with more than 20 years of experience in the field of electronic image processing stands behind it: Impuls Imaging GmbH.
The all-round software is used in the fields of industrial machine vision and scientific image analysis. The excellent price/performance ratio convinces many companies in a wide variety of industries. In addition, we also guide you in feasibility analysis, take on project implementation and support you even after the end of your project with service and further development.
The themes of our services reach from visualisation in the scientific field through interactive image analysis systems to fully automated machine vision applications, e.g. part inspection, counting, measuring, barcode and matrix code decoding and OCR (optical character reading).
Your projects are quicker, more feasible and thus both more efficient and more profitable with nVision.
The nVision system
-
The nVision Designer is the interface directly visible to the user.
-
With the nVision Designer, you can upload images from cameras, execute image processing commands and combine them into graphical programs as well as displaying results.
Although the nVision Designer appears to be a whole entity, it draws in part on nVision Runtime in the performance of its functions.
nVision Runtime executes the image processing commands. It is the workhorse, so to speak. Execution of the finished machine vision application ultimately only needs nVision Runtime.
nVision Runtime features a modular design. Only the components which are required by the finished application need to be available. For example, the modules for OCR and barcodes do not need to be used if the application only performs measurement operations.
[/one_half]
nVision Runtime thus allows for the cost-effective implementation of an application in units.
nVision Designer is the tool with which machine vision applications are created. The applications are only executable with the use of nVision Runtime.
-
nVision Runtime supports the optimal creation of human-machine interfaces, for example user interfaces for machine application can be created.
-
These user interfaces support the display of and interaction with all types which are necessary for image processing (images, histograms, profiles, colour palettes, geometrical objects, but also numerical values, input fields and keys for operation), even on touch-based devices.
nVision in production
-
The graphic shows a possible scenario for an <logo, nvision>> system. Multiple cameras are used on the production line. In the process, industrial cameras can be connected to an industrial PC which is running one or more instances of nVision Runtime. Alternatively, industrial cameras can be used via embedded PCs, whereby the embedded PC accommodates an instance of nVision Runtime. Even so-called smart cameras (with integrated nVision Runtime) can be used.
-
The PC-camera system communicates with the machine process via I/O, e.g. by means of a programmable logic controller (PLC).
Over a network, all PC-camera systems can communicate both with the process control and with higher-level company software, for example, a database application or an SAP system.
-
In addition, the PC-camera systems can be controlled remotely from an office or from a control room. The remote control can occur via Ethernet or via the Cloud.
nVision Rapid Development
We are constantly refining nVision using modern, efficient programming languages such as C++ and C#. We take a wide variety of tasks and our customers’ needs into account and integrate them as solutions.
-
Ribbon
Access to the important functions is gained through the ribbon. The commands are logically grouped and can be easily found.
Browser
The browser shows images and files clearly with small thumbnails and the most important information.
-
Help
Assistance is always available through the integrated manual.
-
Linear process
In the linear process, the steps of the application to be run are simply lined up one after the other. The process runs step by step. Small thumbnails show the results of each step; the live camera image and parameter changes are constantly updated.
Branched process
Individual steps in the linear process may consist of more complex, branched processes. These processes are easily understood and intuitively comprehensible using the live thumbnails.
-
Display
One or more images or any other data (histograms, profiles, colour palettes, data tables, etc.) can be displayed in the display window. Here, the user can easily define their own displays with interactivity (nVision Designer) beyond the pre-defined views. The look of the Runtime is defined here.
Pipeline
Each processing operation in nVision occurs in a pipeline. The pipeline is running constantly if it is fed with new data, for example from a camera.
Linear Pipelines
The simplest method of creating an application is the linear process.
Branched pipelines
Subroutines or sub-pipelines are implemented as branched processes and manually connected.
nVision functions
nVision includes hundreds of functions for image processing and image analysis. All functions can be combined with one another via simple dataflow graphs. Some of these functions are shown here.
-
Image processing
Many simple image processing functions are often required in order to pre-process images. Images and/or constants can be added, subtracted, multiplied and divided among themselves using arithmetic and logic operators or can be combined via truth tables.
Filter functions or morphological transformations suppress unwanted noise or fuzziness or enhance desired effects such as contrast. Shading-correction functions minimise the effects of irregular lighting. Colour scheme conversion and classification allow the application of the operations for colour image processing. Segmentation, the separation of foreground and background is the basis for particle analysis.
-
Image analysis
nVision’s analysis functions provide statistical information about images, e.g. line profiles or histograms. Blob analysis or particle analysis can group interrelated pixel areas in regions. Many features of a geometric or intensity-based nature can be calculated using segmentation and separation into individual objects. Filtering or classification separates the particles into classes.
-
Pattern matching
The pattern matching functions are well suited to finding known objects in images. A pattern is trained for this purpose which is ultimately searched for in other images. nVision supports a variety of metrics and allows changes in intensity and rotation. Geometric matching can also tolerate masking effects and faults.
-
Camera support
nVision supports many cameras suitable for industrial use from a variety of manufacturers and with a variety of interface standards (GigE Vision, USB3 Vision, GenICam, etc.).
-
Optical character recognition
Many industrial applications require the recognition of markings. nVision’s character recognition offers two application modes: character recognition (OCR) or verification of correct characters (OCV).
Character sets and parameterisation can be pre-trained in order to ensure the highest detection rates despite poor image quality.
-
Barcode und matrix code decoding
nVision’s barcode and matrix decoder can locate and decode printed, etched, laser inscribed or stamped codes for a multitude of different one-dimensional or two-dimensional symbologies.
In addition to simple decoding, the print quality of the code can be checked.
-
Measuring
Dimensions such as distances, angles, areas, line fits and ring fits, for example, can be quantitatively determined in the image with the measuring functions.
In doing so, positions are determined, sub-pixel precise, on the image’s grey tones. Together with the camera calibration functions, this forms the basis for alignment of components or for high-precision measurements.
-
Calibration
Sensor assembly tolerances, distortions on the optics and the free positioning of a camera within the space lead to a non-linear correlation between pixel coordinates and positions in the real world.
nVision camera calibration allows the transformation of pixel coordinates into real coordinates and supports the correction of non-linear deformations through the optics as well as the perspective. The calibration is supplemented by geometric pixel-image correction functions.
-
Parallelization
The image processing functions used in nVision are parallelized and are therefore extremely fast.
Parallelization takes places at three different levels: vectorization at register level, multicore at image level and pipelining at string level. The resulting acceleration of nVision is spectacular.
-
Vectorization
Modern CPUs have register widths of 64, 128 or 256 bit, while most images manage with 8 bits per pixel. This means that these CPUs can process 8, 16 or even 32 pixels in parallel in the register in a cycle.
Unfortunately, the SIMD programming is extremely complex and is therefore not used by many providers. In nVision, multiple functions are vectorised.
-
Multicore
Modern CPUs usually have at least two cores, and many already have four or more cores. Cores are mostly separate CPUs which share the outward connections but sit in the same housing internally. These cores can run different program code simultaneously without hampering each other.
Many functions in nVision support parallelization with multiple cores, dividing large images up and distributing them to the cores for processing.
-
nGI graphics and image processing library
nVision also derives its performance from the underlying graphics and image processing library. nGI is a high-performance library for computer vision written in C++. Its modules can be licensed individually or in combination. Connections to high-level languages are generated through our automatic wrapper technology. The libraries are available in C++ and C# versions for Windows. Other operating systems and language connections are available upon request.
The copy protection can be removed for large quantities. Source code is available upon request.
nVision Highlights
nVision unifies Impuls Imaging GmbH’s 20 years of experience in a unique and modern fashion. Complete and flexible, nVision also represents the right solution for your application in image processing.
Feasibility study
Draw on our many years of expertise in image processing. If you are not sure whether your application is feasible, we can conduct free feasibility studies into the solution for your problem with help of nVision and show you your implementation path.
-
nVision for education
Thanks to its intuitively understandable graphic programming according to the dataflow principle and the many integrated graphic tools, nVision is particularly suitable for teaching. Machine vision has become a topic in many technical and scientific study programmes.
On the one hand, it gives students a brief introduction to the fundamentals. On the other hand, students can learn implementation in exercises with <<logo, nvision>> without having to bother themselves with the complex and time-consuming task of harnessing cryptic programming languages. We have put together an attractive package not only for schools, colleges and universities but also for other teaching organisations:
It consists of a full version of the nVision software with usage restrictions for teaching purposes, coupled with student versions for individual exercises. Ask us about our offers – they are exceedingly attractive.
-
Ergonomics
We take ergonomics seriously. nVision appears in a clear, consistent user interface with friendly, fresh and light colouring. It is ideal for use in an office environment under natural or artificial light.
For use in a dark environment, for example in a laboratory for fluorescence microscopy, you can switch to a low-contrast display.
Video training
nVision is easy and intuitive to use. After a short familiarisation period, work proceeds quickly and easily.
In addition to the detailed manual, there are German and English language online videos which show and explain the concepts and working steps.
Localising
-
The positioning of components is crucial for many machine vision applications. Components cannot always be accurately positioned mechanically, so the image processing must compensate for the position. Component feeding can be readjusted with the results of the position correction or further inspection tools can be controlled. The tools for measurement and position correction can work more accurately if a calibration of the camera system, including the optics, is carried out.
-
Edge measurement
Components with well-defined, straight edges can be detected very quickly with this process. Edge positions can thus be determined and the horizontal and vertical displacement, as well as rotation, can be calculated from this. The tools work with sub-pixel precision.
Accuracies of better than 1/10 of a pixel can be achieved through optimal dimensioning of the optical system and proper calibration.
-
Template matching
Pattern or template matching is better suited for complex components with irregular shapes and tricky colouring or brightness.
Alongside the usual correlation method, the processes offer various additional similarity measures which are suitable and tailored for different requirements. The tools support detection of object displacement and rotation.
-
Similarity metrics
CAD
The template matching tools can also use drawing data from CAD systems.
DXF (AutoCAD drawing exchange format) and GEO (Trumpf’s laser cutting format) are supported. This allows drawing files to be compared with real objects.
Identifying
-
The tracking of components is one of machine vision’s core tasks. To this end, markings of components must be recognised, texts must be transcribed into plain text and barcodes and matrix codes must be decoded.
-
Barcodes
Barcodes are used for product identification. They store information in a sequence of bars and spaces and can be easily read.
nVision can read barcodes of any size in any position and under various lighting conditions. In addition, the print quality of the code can be verified (grading).
-
Matrix codes
Matrix codes are widely used in many industries to track components. They encode large data blocks with comparatively small imprint dimensions and thus partially replace barcodes. Robust decoding is difficult owing to the various methods (printing, laser-cutting, etching). The printing process often has to be examined itself (grading).
Symbologies
Our software supports the following symbologies:
1D: Codabar, Code 2/5, Code 32, Code 39, Code 93, Code 128, Databar, EAN, Pharmacode, PZN, MSI, Telepen, UPC.
2D: Data Matrix, QR Code.
-
OCR
In addition to barcodes and matrix codes, products are also marked with readable text, e.g. in order to accommodate production and expiry dates or batch numbers on the product. These texts must be read by a machine using cameras. For optimal reading results, the OCR can be trained with specific character sets and character patterns.
A set of pre-defined standard character sets is supplied with nVision.
In addition, there is a program for training specific fonts for each application.
Checking
-
Component checking is an important task for machine vision systems. A multitude of characteristics can be verified with image processing: completeness, dimensional accuracy, colour, surface quality. Increase quality standards effortlessly in your production with nVision.
-
Surface inspection
Scratches, holes, bursts, cavities, contamination: there are many defects which affect the quality of the surface. Different types of defect often require different types of lighting (front light, back light, bright field, dark field) and can often only be detected under a combination of different types of lighting.
With its surface inspection tools such as multi-channel blob analysis, for example, nVision can easily detect defects and classify defect types.
-
Grading
The data-matrix code tools in nVision can determine the print quality of codes in conformity with ISO/IEC 15415.
You can thus make sure that your encoding can be read correctly every time.
You can also check the quality of text markings with the OCV function.
-
Completeness
Verification of the completeness of components is important in many production stages.
The various nVision tools, e.g. template matching, colour matching, edge measuring and decoding of codes or text, can be used for this purpose.
Measuring
-
Lengths, angles and surfaces in 2D and 3D can be effortlessly measured with calibrated machine vision systems. Thanks to our algorithms, which are precise to a fraction of a pixel, you can achieve the required accuracy and reduce tolerances in your production.
Alongside the geometric dimensions, the image processing can also measure the densitometric value depending on the brightness or colour.
-
Dimensional measurement
You can achieve high-precision results with telecentric optics and telecentric lighting, coupled with nVision’s precise measurement algorithms.
The desired measurements (position, length, angle, edge position, area, etc.) are defined in a search field and analysed exactly. The measurement results can be combined and can either be given as a protocol or processed as a good/bad statement.
-
Deformation monitoring
The movement or deformation of large or small components can be measured and reviewed in real time with image processing. Real-time monitoring can be used for tiny machine parts through to large constructions.
-
Calibration
Camera calibration is essential, even when using low-distortion lenses, if you want to measure with the highest possible level of accuracy.
Calibration can compensate for distortion in the lens-camera system so that the sub-pixel algorithms can deliver results with the highest possible level of accuracy.
-
Density measurement
For some production processes, for example in the application of layers, the optical density is a measure of product quality.
The layer thickness manifests itself under specific lighting through different grey values or colours which can be measured through image processing.
With image processing, you can keep the tolerances in your production processes within strict limits.
Pingback: TILL LA Application uses Software from Impuls