
一、调节准备部分1.FPGA逻辑实现水平梯度的计算2.FPGA逻辑实现垂直梯度的计算3.FPGA逻辑实现对角线梯度的计算4.像素的水平梯度垂直梯度对角线梯度的绝对值之后作为当前像素的梯度5.将ROI区域内的所有像素的梯度进行累计求和6.将ROI梯度和传递给MCU;7.在MCU中将af_tidu_sum/(roi_w*roi_h)作为ROI的平均梯度8.将ROI的平均梯度通过串口发送给伺服-这个串口反馈梯度需要按照图像的帧周期反馈9.伺服电机通过串口接收到的这个平均梯度作为评价指标10.利用爬坡算法来进行自动调焦11.梯度值越大说明图像越清晰梯度值的最大值就是图像的最清晰的情况二、调焦算法如果新值 旧值说明正在靠近焦点继续同方向移动。如果新值 旧值说明已经越过了峰值点此时改变方向并缩小移动步长。实际中也会采用全程扫描再回到最大值点的方式电机直接从头走到尾记录每步的梯度和然后快速回到全局最大值位置。三、调焦爬山算法-图像清晰度评价的搜索算法hill-climbing爬山搜索法1.基本爬山算法固定步长直到越过峰值后反向减小步长反复进行。2.改进的爬山算法2.1.变步长爬山算法依据梯度的大小动态调整步长2.2.曲线拟合在接近峰值时使用抛物线或高斯拟合直接预测峰值位置。2.3.Fibonacci搜索或黄金分割搜索这是一种快速搜索单峰函数极值的方法不是严格爬坡但用于快速对焦2.4.三点法或抛物线插值法采样三个点拟合抛物线预测最大值。2.5.自适应步长爬山Adaptive Hill-Climbing根据评价值的增加速率调整步长。2.6.大步长粗扫小步长精扫先大步快速定位大致峰值再小步精确寻找。2.7.基于预测的爬山如利用之前帧的运动信息预测焦点位置。