I already advised you to detect smoke by the level of contrast. Also, you should use just one frame for detection; motion detection should not help you. So, you should use static method, or, even better, quasi-static which I recommended in response to you first Question.
Now I'm thinking about some detail of it. You can try to measure general contrast of the picture directly. This method, however, depends on the scene and lighting too much much, may require thorough calibration and can turn unsuitable if the lighting changes.
Instead, you can try the following plan:
1) Normalize the frame.
2) Perform edge detection
http://en.wikipedia.org/wiki/Edge_detection[
^] transformation. As you're are not interested in edges themselves you may find the simplest algorithm the best. Most likely, you can perform simple convolution; the code is available in AForge.net. The samples of the second function in the convolution (the mask of filter matrix) can be found in the library and/or sample code from the article by Andrew Kirillov:
Image Processing Lab in C#[
^], or, for example, here:
http://www.pages.drexel.edu/~weg22/edge.html[
^]. The final selection of the function depends on scale comparison: the pixel dimensions of your camera and the characteristic scale of detail on the picture.
3) The resulting picture should be contrasted.
4) The analysis should be done to detect the blobs of image with no or low level of distinct edges. The idea is that smoke covers the sharp detail of the picture, which makes the edged weak or disappear. In this way, you could spot some smoke before it totally fills the picture. The comparison with the smoke-free sample can be very useful. I think in all cases your algorithm will need the teaching stage.
This method can tell no-smoke from smoke situation only if you have a scene rich of small sharp detail. If it does not have sharp detail is should be highly contrast, so you could use direct contrast measurements. Is none of these condition is the case, I think, smoke detection will be very difficult or impossible.
From my past experience advising you I remember you had some preoccupation with motion detection. In no case you can use motion detection for smoke: the smoke will slowly fill the scene, so for any given time slice the picture will look almost static.
By the way, what method you apply for fire detection? Still motion detection?..
—SA