Autonomous unmanned aerial vehicles (UAVs) often carry video cameras as part of their payload. Outdoor video captured by such cameras can be used to estimate the attitude and altitude of the UAV by detecting the location of the horizon in the video frames. This paper presents a video frame processing algorithm for estimating the pitch and roll of a UAV, as well as its altitude. The frames are obtained from a downward pointing video camera equipped with a fisheye lens. These open-loop estimates can serve as redundant data used to implement graceful-degradation in the event that the main closed-loop control sensors fail, or for fault-tolerance purposes to augment inertial sensors for increased accuracy. The estimated values had a mean error of +/- 0.7 angular degrees for roll and +/- 0.9 angular degrees for pitch, while the altitude estimation from the video had a mean error of +/- 0.9 meters. The results are presented and compared to actual attitude and altitude values obtained from a traditional inertial measurement unit and, in the case of altitude comparison, an absolute air pressure sensor. The algorithm was developed on a personal computer to work at 10 frames per second and uses only simple image processing functions that can be deployed using open source libraries on lightweight computing boards capable of image processing.