计算机机器视觉开源库中提供image.get_statistics([thresholds[,invert=False[,roi[,bins[,l_bins[,a_bins[,b_bins]]]]]]])方法,用于计算roi中每个颜色通道的平均值、中值、标准偏差、最小值、最大值、下四分值和上四分值,并返回一个数据对象。也可以使用image.get_stats来调用这一方法。如果传递thresholds列表,则直方图信息将仅从阈值列表中的像素计算得出。
thresholds必须是元组列表。[(lo,hi),(lo,hi),...,(lo,hi)]定义所要追踪的颜色范围。对于灰度图像,每个元组需要包含两个值:最小灰度值和最大灰度值。对于RGB565图像,每个元组需要有6个值(l_lo,l_hi,a_lo,a_hi,b_lo,b_hi),分别是Lab模型的L、A和B通道的最小值和最大值。如果元组大于6个值,则忽略其余值。相反,如果元组太短,则假定其余阈值处于最大范围。
Invert是反转阈值操作,像素在已知颜色范围之外进行匹配,而非在已知颜色范围内。
roi是感兴趣区域的矩形元组(x,y,w,h),即操作范围仅限于roi区域内的像素。如果未指定,roi即整个图像的图像矩形。(www.xing528.com)
bins和其他bin是用于直方图通道的箱数。对于灰度图像,使用bins,对于RGB565图像,使用其他每个通道。每个通道的bin计数必须大于2。默认情况下,直方图将具有每个通道的最大bin数。
利用get_statistics统计的方法,可以计算出指定区域内占面积最大的颜色。对给定区域进行颜色追踪的程序代码如下:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。