In this paper, a radio signal detection algorithm is proposed. This algorithm detect the radio signal from complex electromagnetic environment to obtain the center frequency, bandwidth and starting and ending time. First, to detect the time and frequency information simultaneously, the I/Q data in time domain is transformed into spectrogram. Then, the noise threshold is calculated by equidistant binning statistics, and the spectrogram is binarized based on the threshold. A kind of filter operator is designed for binary image denoising. Then we use DBSCAN clustering algorithm to cluster signal points in binary spectrogram. Finally, after separating the overlapping signals and filtering the false signals, the center frequency, bandwidth, starting and stopping time of each signal can be extracted. For experimental evaluation, average precision (AP) and average Distance-DIOU (ADIOU) are used as evaluation indexes. Radio signal data with center frequency near 2.4GHz and bandwidth 40 MHz is collected. And 420 segments of test data are extracted for manual labeling. Detection experiments on the 420 test samples reveal that the algorithm we proposed can achieve a AP value of 0.839, and the ADIOU value reaches 0.674. The result shows that the algorithm can detect radio signals accurately.