Spillway blockage detection is crucial for flood prevention and disaster reduction in reservoirs. To address the challenge of detecting the spillway blockages under complex environmental conditions such as rain and fog, this study proposed a three-stage spillway blockage detection method based on deep learning. This method involved the removal of the rain and fog interference, the segmentation of the spillway boundary region, and blockage detection. First, a rain and fog interference removal algorithm based on the dark channel prior theory was developed. Next, an improved lightweight DeepLabv3+ semantic segmentation algorithm was adopted to segment the spillway region from the images. Finally, the improved YOLOv7 object detection algorithm was utilized to identify the blockage debris within a segmented spillway area. The experimental results indicated that the proposed method achieved an average precision of 80.32% under normal conditions and 77.77% under complex conditions, representing improvements of 9.93% and 6.65%, respectively, compared to traditional methods. This method significantly enhanced the detection and identification of blockages in complex environments and could provide effective support for intelligent reservoir flood control and disaster reduction.