Quality Blog

Ned Lecky, Ph.D., is the owner of Lecky Integration (Little Falls, NY), an integration and consulting company using advanced electronics, software, cameras and simulations to engineer and manufacture solutions for clients in machine vision, mechanical system controls, and transportation and security inspection. For more information, call (518) 258-5874, e-mail ned.lecky@lecky.com or visit www.lecky.com or his blog at www.visionsensorsmag.com.

Learning with Lecky: Back to Vision Basics

November 24, 2010
/ Print / Reprints /
ShareMore
/ Text Size+
By going back to the basics, we were able to rapidly create independent camera interface programs based on the camera vendors’ own code-a safe and risk-averse approach that is almost certain to speed deployment.

We just ran into an application for a fantastic little camera from IDS called the UI-1008XS. This 8-megapixel color camera weighs only 12 grams, fits in a volume less than a 1-inch cube including built-in auto-focus lens, and has trigger capability and a USB 2.0 interface that powers the camera as well as providing data connectivity.

Our application, however, also required more standard machine vision cameras with GigE interfaces, and needed the option of adding Camera Link or analog cameras to support some legacy hardware pre-installed on older machines. In addition, some of the cameras required could only be purchased from other camera vendors including Basler, Dalsa, PixeLink, and Point Grey.

By just going back to the basics, we were able to create a simple solution. Effectively, we took the demo programs supplied by each vendor for their own camera interface and wrapped each one of these into its own thread. A thread is a lightweight process that happily coexists with many other threads that are all part of the same application. They run independent of one another, each waiting, in the appropriate way, for an image from the desired camera.

By adopting this approach, we were able to rapidly create independent camera interface programs based on the camera vendors’ own code- a safe and risk-averse approach that is almost certain to speed deployment. Modern multi-core processors and big 64-bit operating systems, including Linux and Windows 7 can manage all of the memory and library interactions required to support armies of threads for cameras with very little effort. Furthermore, the threads are automatically distributed across all of the processor cores to allow for true simultaneous execution, making use of all of the hardware that is available for processing.

In our typical applications, each camera has its own grab thread, waiting patiently for the next image. In addition, each camera has a processing thread that spends its time analyzing the data most recently received form its’ associated camera. Finally, we add multiple accelerator threads for “hard” operations, like optical character recognition (OCR), a processor-intensive activity which benefits from the subdivision of the image into separate regions to allow parallelizing of the character recognition tasks.

Using a similar architecture in your own image processing applications will speed you on your way to writing efficient, sophisticated and stable image analysis applications.

You must login or register in order to post a comment.

Multimedia

Videos

Podcasts

Bill Arbogast explains his perspective on quality, ISO 9001, and how to manage inevitable business changes.


Read: The 2013 Quality Professional of the Year

 
More Podcasts

THE MAGAZINE

Quality Magazine

june 2013 magazine cover

2013 June

Check out the June 2013 edition of Quality Magazine for features about Measurement, Software and Test & Inspection.
Table Of Contents Subscribe

Plant of the Year

Which is the most important factor in considering a Quality plant of the Year?
View Results Poll Archive

THE QUALITY MAGAZINE STORE

M:\General Shared\__AEC Store Katie Z\AEC Store\Images\Quality\prac-field-guide-for-iso.gif
A Practical Field Guide for ISO 9001:2008

The purpose of this field guide is to assist organizations, step by step, in implementing a quality management system (QMS) in conformance with ISO 9001:2008, whether from scratch or by transitioning from ISO 9001:2000. It examines each sub-clause of Sections 4–8 of ISO 9001:2008, which contain the requirements, and gives a list of the documentation/documents required, internal audit questions, a summary of management’s responsibilities, and a flowchart of the steps that need to be undertaken to satisfy the requirements.

More Products

Clear Seas Research

qcast_ClearSeas_logo.gifWith access to over one million professionals and more than 60 industry-specific publications,Clear Seas Research offers relevant insights from those who know your industry best. Let us customize a market research solution that exceeds your marketing goals.

eNewsletters

STAY CONNECTED

facebook_40.png twitter_40px.png  youtube_40px.pnglinkedin_40px.png