Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

VBAI: How to Correct for Vignetting?

Solved!
Go to solution

One of my future vision projects will require a very sensitive inspection across a flat surface for slight brightness variations.

I plan to use a large dome light to achieve nearly uniform illumination from all directions, and will use a 1" sensor lens with a low-noise smaller format imager camera to reduce the effects of lens vignetting.

 

However, even with these steps, I anticipate that across the image there will be some amount of variation in the apparent brightness of surfaces.

 

Clearly, if I was using Labview/Vision I could write a trivial VI to multiply each image by a correction image (of a perfely uniform surface).

 

Is there a way to accomplish this effect in VBAI?

 

Thanks in advance,

     Nelson

0 Kudos
Message 1 of 4
(4,254 Views)
Solution
Accepted by topic author Nelson-Bridwell

In Vision Development Module 2015, released back in August, we added new Flat Field Correction VIs that you can use to compute, or estimate Flat Field images, and correct acquired images with it.

Examples are located here:

<Program Files>\National Instruments\<LabVIEW>\examples\Vision\Image Processing\Flat Field Correction.vi

<Program Files>\National Instruments\<LabVIEW>\examples\Vision\Image Processing\Flat Field Estimation.vi

 

My recommendation is to try out the feature in LabVIEW and see if that works well with your images.

 

The current shipping version of VBAI (2014 SP1) which was release before Vision Development Module 2015 does not yet support that feature. What you can do to use it in this version is to create a VI in LabVIEW 2014 SP1 that implements Flat Field Correction and call it using the Run LabVIEW step.

It will be supported natively in the upcoming VBAI 2015 release.

 

Hope this helps.

 

Christophe

Message 2 of 4
(4,236 Views)

Glad to hear that a VI for this function has been added to the latest Labview.

And with older versions of LabVIew it sounds like it should be trivial to create equivalent functionality be writing a simple a C++ VI that performs pixel-by-pilex intensity multiplication across the entire image, using a referenece image.

Thanks!

 

Nelson Bridwell

http://MachineVision.Engineering

0 Kudos
Message 3 of 4
(4,224 Views)

Vision Development Module 2015 supports LabVIEW 2012 through 2015. It will install in any of these LabVIEWs if installed on your system.

You can download the evaluation version of Vision Development Module 2015 at this link, if you want to try out this functionality.

http://www.ni.com/vision/software/vdm/

 

Best regards,

 

Christophe

0 Kudos
Message 4 of 4
(4,220 Views)