Is it possible to use OpenCV to accurately detect water in a sewage pipe?
I'm looking into image-recognition of water in sewage pipes 开发者_开发知识库for a future project.
I have been looking into OpenCV, and it looks like it is very good at recognizing where objects start, and stop. However, is there anything in OpenCV that would not only allow for separating water from pipe, but also identifying which is which?
Edit: Here is an example of the image type (taken from video): http://imageshack.us/f/851/vlcsnap2011061516h22m54.png/
Since you say you have video that may help you define what is "water" and what is "pipe". The "pipe" is the part of the image stream that doesn't move (as seen from a fixed camera), while the "water" part is the one with larger differences in successive frames (due to illumination and flow).
BTW, must your sensor really be optical? Since you are already introducing a relatively expensive sensor in the system, can't you use a specialized sensor that detects what you're really after?
The fundamental problems you will face won't be with the software. OpenCV has plenty of capacity for what you are attempting to do. The real engineering you need to tackle will be optical. You need to ensure a proper field of view and illumination.
There are integrators that can bring together the image processing software and optical engineering using most whatever software platform you require. http://www.machinevisiononline.org/ is a decent resource
One idea is to look at the texture. On the example image it seems as the water surface is more smooth than the visible parts of the pipe.
A water level sensor not only tells you if there is water but also gives you the depth. Knowing the depth and pipe diameter allows you to compute the volume of water going through the pipe. See
http://www.instrumart.com/products/25311/flowline-echosonic-ii-ultrasonic-level-transmitter
精彩评论