能见度检测在气象预报、自动驾驶等领域有巨大的研究和实际应用价值。与此同时,目前现有的能见度检测方法存在硬件设备价格昂贵、需设置特定标志物、计算量大等问题。该文将机器学习引入能见度检测模型,提出了一种基于计算机视觉和机器学习的能见度检测算法。该算法将通过暗通道先验法以及导向滤波算法得到的精细图像暗通道特征、图像梯度幅度和图像对比度幅度作为支持向量机算法的输入,进行了能见度检测模型的训练。实验结果表明此算法不仅有良好的能见度检测精度,同时无需摄像机标定,可利用原有监控设备,有较好的灵活性。