09-09-2008 10:56 AM
Hi,
Is there any IMAQ VI that does contrast enhancement . I know in MATLAB , the command is imadjsut(), but using that script node with that command is a big problem. I could not find any VI that does that in LabVIEW vision toolkit.
So I want to know if anyone has done contrast enhancement on an image, and what vi or combination of VI he/she used.
Thank you.
09-09-2008 12:00 PM - edited 09-09-2008 12:04 PM
Hi Okogidi,
NI IMAQ actually provides a very academic methods. Contrast enhancement involves "Distributing dynamic range all over the image". this is known as "Image Equalization". You can find this method as "IMAQ Equalize" under
Vision and Motion >Image Processing >Processing> IMAQ Equalize.
Image Equalization is not the only method for enhancing the image, but its power is in that it dynamically distribute the imtensity of the image . You may also consider using "Look up" method for specific enhancement. Please refer to "IMAQ concept Manual" for more information.
09-09-2008 02:36 PM
Thank you VBCoder.
I am still a little bit confused, the IMAQ Equalize performs histogram equalization. Histogram equalization is of course one way of enhancing an image, it redistributes the image gray levels.
Histogram equalization is one way of doing contrast enhancement . but it seens histogram equalization distributes uniformly.
Like in MATLAB, imadjust(image), and histeq(image) are two different algorithms.
The IMAQ Equalize like I said performs only histogram equalization.
Thanks
09-09-2008 07:49 PM
The function you are looking for is probably BCG Lookup.
You can also do it in a few steps manually. Use Quantify Image to get the min and max values. Use Image Subtract to subtract the min. Use Image Multiply with the value 255/(max-min) to maximize the contrast.
Bruce
07-28-2010 07:53 AM
works really nice, for some other application...
thanks
03-01-2012 10:09 AM
I use 'Linear' operator in IMAQ MathLookup. I also use a histogram display with cursors so I can specify the range over which to contast expand.
IMAQ BCGLookup.vi does not allow one to specify an interval range.
Late to the table here but this method had not been mentioned yet so figured I would mention it.