MATLAB: Can you determine the intensity of a laser from an image taken with a camera

image processingImage Processing Toolboxintensitylaseroptics

I'm working on a project where the goal is to take an image with a laser spot in it and determine the intensity of the laser. I don't have experience with image processing, but the goal is to use the Image Processing Toolbox to do it. So far, I have tried to find the spot in the image, and then find the centroid using regionprops. Then, I was attempting to create a mask around the spot because I believe you need to do some mathematics using the pixel intensities in that area to determine intensity,but my entire image becomes blacked out. Is there a good resource that I can look at that will help me find the intensity?

Best Answer

You can take an image of the laser spot, threshold it, perhaps enlarge the mask, and get the sum of pixel intensities or mean pixel intensity of the spot. See my Image Segmentation Tutorial for an example. http://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862
One problem with some cameras is that they might have a gamma (non-linear response). If you can vary the laser power, then you can make your own calibration curve of power vs. measured brightness. This will have the gamma curve, or if you have a linear system (gamma of 1) it will be a straight line. So basically with that intensity calibration curve, you can use it as a formula to get out the "real" power if you feed it a gray level.
It's whole other discussion if you want to get into units about exactly what intensity means, as opposed to power, illuminance, irradiance, lux, brightness, etc. The kinds and names and meanings of all these optical measurements can make your head spin. It does mine, and I have a Ph.D. in optics. See the attached short paper that my late, former professor wrote on the topic.