Welcome back to our Vision Campus.
Today let's talk about Software Development Kits for Machine Vision.
Imagine you want to assemble a model car and you are interested in the car itself and not
in the details like cutting threads or punching metal sheets.
You also do not want to bother with assembling or organizing all the tools you need
to put together the components.
It would be much easier if there was a kit of items comprising not only all the parts
of the model car, but also all of the tools you need to assemble it.
In the world of software, the equivalent of this is the software development kit (SDK).
An SDK provides a set of tools used for developing applications on a specific platform.
Typically these are pieces of software that communicate with hardware used by an application
running on a PC or an embedded platform.
Assume you need to control and trigger a camera for image acquisition.
You are not familiar with the camera model
but you are accustomed to a certain programming language.
Then imagine having access to drivers and application programming interfaces
which can be used to manage these tasks.
Even better, sample code would help you understand how to use the drivers and APIs
and how to configure the new piece of hardware.
An SDK for Machine Vision should include:
drivers for common camera interfaces
like GigE Vision or USB3 Vision.
an application programming interface
tailored to the specific needs of machine vision world
sample code in commonly used programming languages
tools to access the many parameters of a machine vision camera
configuration tools to directly evaluate the effects of parameter changes
to optimize image quality.
and documentation that supports you in integrating
a Machine Vision camera easily into your application.
SDKs can either be free of charge - usually when provided by camera manufacturers,
or provided for a cost by software manufacturers,
who typically offer additional specific image processing routines.
Before integrating a camera in an industrial application,
you usually need to evaluate the selected camera and design a prototype application.
To do so, you usually use a viewer tool and auxiliary configuration or optimization tools.
The more functionality and ease-of-use aspects these tools offer, the easier and faster
the evaluation process and the lower your project costs will be.
For example, if the viewer tool provides you with complete documentation
and source code for programming the camera features,
you won't need to look into manuals or SDK samples.
The availability of optimization tools, for example for optimizing the available bandwidth,
will enable you to design your application with ease.
When it comes to developing a software application, the quality of the API and its portability
will have a direct effect on your current and future costs.
The less code you write,
the faster the development
and the lower the project costs.
The availability of SDK samples for different application use cases and code snippets detailing
specific camera features will also contribute
to a leaner and more cost-effective software development.
On top of all these benefits, a good SDK will allow you to use your existing code for
different camera interfaces and operating systems,
to adapt your projects to future market challenges.
Once your application is developed, it is all about maintenance.
An industry-proven and mature Machine Vision SDK with reliable drivers is essential
for keeping your maintenance costs low.
Thanks for watching!
Không có nhận xét nào:
Đăng nhận xét