In order to overcome the problem that white balance failure caused by white region detection error in automatic white balance, this paper proposes a white balance method based on dark channel prior. First, get the dark channel image, then extract the white region in the image according to the dark channel, and then remove the region with high saturation. Finally, in order to correct the color and ensure that the image brightness does not change, we calculate the correction gain in the CIE-XYZ color space relative to the luminance channel Y. Experimental results show that our algorithm has achieved good results both in subjective and objective evaluation compared with some classical algorithms, and the rate is greater than 150 frames/s on embedded devices.