13.1.7. 直方图

在帧缓冲区查看器下方,直方图窗格绘制当前帧中像素值的分布——或者,当帧缓冲区中选中了某个区域时,仅绘制该区域内的分布。它会随预览实时更新,这使它成为解答机器视觉工作中不断出现的问题的工具:那个物体在数值上究竟是什么颜色,它的变化有多大,以及它与背景如何区分。

RGB 模式下的直方图窗格,每个通道有一个图,下方有相应的统计数据,顶部的读数行带有分辨率和对焦数值

RGB 模式下的直方图:每个通道有一个图,下方带有其统计数据。顶部的读数行末尾是对焦数值。

窗格标题栏中的选择器用于选择计算统计数据所采用的颜色空间:RGB、Grayscale、LAB 或 YUV。请将其与你脚本将使用的颜色空间相匹配。一个使用 find_blobs() 在 LAB 中以阈值追踪彩色色块的脚本,就应当在 LAB 中读取物体的数值;一个对亮度做阈值处理的脚本则在灰度下工作。每个通道都有自己的图,下方带有该通道的统计数据:平均值、中位数、众数、标准差、最小值、最大值,以及下四分位数和上四分位数。

日常用途是寻找阈值。在帧缓冲区中选中目标物体,切换到匹配的颜色空间,然后读取其像素实际所处的位置——每个通道的最小值/最大值是阈值元组的初稿,而四分位数则在极值为离群点时显示分布的主体所在。阈值编辑器 在相同的数据基础上提供交互式操作。

13.1.7.1. 对焦数值

直方图上方的读数行末尾是一个对焦指标——一个根据图像计算出的清晰度评分。它的绝对值没有任何意义;它的变化方向才意味着一切。在调整镜头时,注意观察这个数值:图像越清晰它就越大,并在最佳对焦时达到峰值。将摄像头对准工作距离上的细节丰富的目标,缓慢转动镜头,并在最大值处停下。