This paper proposes an approach to detect fire and smoke based on computer vision techniques. Video processing is performed via a stationary camera monitoring the scene. To determine the fire in the field of view of the camera, firstly Sobel filter is adopted to calculate the gradient value of each pixel and evaluate the probability density during a period of time. Then an entropy concept is joined to measure the variation of fire shapes. Fire color rules are also used as a simple criterion to identify most non-fire pixels. For smoke detection, background of the scene is estimated in advance, and the decrease of high frequency energy is under inspection by applying spatial wavelet transform to the background and the current images. Moreover, the diffusion of smoke also causes grayish and semi-transparent phenomenon of the scene, and these lead to the decrease in chrominance components of image pixels. Experimental results demonstrate that the proposed technique has the capability of detecting fire and smoke reliably.