Question

I have a need to take an image of a series of glass test tubes, and automatically give an indication of either the level fo liquid in the tubes or the point at which the liquid reaches the bottom of the tubes. The image would probably be gathered by a webcam and processed on a standard PC. I have no restrictions on language or method, but I'll have to learn whatever it is.

I've found these more general questions on Vision on SO;

Does anyone know of any similar projects that are well documented that I could review, or other ideas / comments.

Was it helpful?

Solution

Chesnokov-Yuriy wrote series of articles explaining image analysis in codeproject. He covers vast range of topics in all his articles. You should check this . he is really exceptional.

some of his articles, you can find useful

OTHER TIPS

If you do it with image analysis, the first thing is to get the best possible image quality. Webcam will probably do, but in addition you'll need some illumination. You want your image's background brightness to be equal everywhere and get rid of shadows, to help segmenting the image correctly. Possibly illuminating the tubes from the back could make sense.

It could be tricky - since your liquids and tubes are clear, the surface of the liquid might not be too well visible. You could also consider using ultrasound-based approach (measure the time of echo from the surface of the liquid).

Edit: one more idea: If the tubes are open from the top, why don't blow air over them, measure the pitch, and calculate the liquid level from that :-)

If you are looking for a free and open source too. OpenCV is a good choice and I would suggest C# as an easier thing to learn that C and this port which worked well for me. There are other ports for other languages as well.

There are good pay packages as well that may be easier for instance I've used MvTec's Halcon.

if the project is funded by a company (that is, it has an allocated budget), you should consider buying a "real" image processing library: matrox, cognex, halcon, national instruments... there are a lot of library provider. the advantage is that many tools already exists, especially concerning image registration and dimensional measurements. many even have kind of an IDE for prototyping the processing.

also consider buying a "real" camera: one with a decent CMOS or CD sensor. here again, there are dozens of providers. the difference between this and a webcam is the quality of the image. keep in mind that the resolution of the camera has a big impact on the resolution of the result. also, an good camera does not come with a lens, but you will find very good quality lenses (cosmicar/pentax are the best quality/price compromise), whereas a webcam is generally equipped with a very poor one-piece lens... lens type affect the distortion of the image, thus it affects the quality of the result.

any diffuse white-backlight should be perfect for lightning this product.

then, you can find a training in computer vision, or just find a mentor which knows how vision works and will guide you through the project.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top