MicroMV 统计信息

来自Microduino Wikipedia
502748957@qq.com讨论 | 贡献2018年12月7日 (五) 03:19的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

图像的统计信息

如果想知道一个区域内的平均颜色或者占面积最大的颜色,可以使用统计信息

  • 统计信息Statistics

    • image.get_statistics(roi=Auto)
其中roi是目标区域。注意,这里的'roi='必须要标明出来,roi参数的格式是(x, y, w, h)的tupple.
x:ROI区域中左上角的x坐标
y:ROI区域中左上角的y坐标
w:ROI的宽度
h:ROI的高度
例如:img.get_statistics(roi=(0,0,10,20))


获取灰度的参数值
  • statistics.mean() 返回灰度的平均数(0-255) (int)。你也可以通过statistics[0]获得。
  • statistics.median() 返回灰度的中位数(0-255) (int)。你也可以通过statistics[1]获得。
  • statistics.mode() 返回灰度的众数(0-255) (int)。你也可以通过statistics[2]获得。
  • statistics.stdev() 返回灰度的标准差(0-255) (int)。你也可以通过statistics[3]获得。
  • statistics.min() 返回灰度的最小值(0-255) (int)。你也可以通过statistics[4]获得。
  • statistics.max() 返回灰度的最大值(0-255) (int)。你也可以通过statistics[5]获得。
  • statistics.lq() 返回灰度的第一四分数(0-255) (int)。你也可以通过statistics[6]获得。
  • statistics.uq() 返回灰度的第三四分数(0-255) (int)。你也可以通过statistics[7]获得。


获取LAB三个通道的平均数,中位数,众数,标准差,最小值,最大值,第一四分数,第三四分数如下:
  • l_mean,l_median,l_mode,l_stdev,l_min,l_max,l_lq,l_uq,
  • a_mean,a_median,a_mode,a_stdev,a_min,a_max,a_lq,a_uq,
  • b_mean,b_median,b_mode,b_stdev,b_min,b_max,b_lq,b_uq,


示例:

import sensor, image, time

sensor.reset() # 初始化摄像头
sensor.set_pixformat(sensor.RGB565) # 格式为 RGB565.
sensor.set_framesize(sensor.QVGA)
sensor.skip_frames(10) # 跳过10帧,使新设置生效
sensor.set_auto_whitebal(False)      

ROI=(120,100,20,20)  #设置感兴趣区域

while(True):
    img = sensor.snapshot()     #获取图像
    statistics=img.get_statistics(roi=ROI) #获取感兴趣区域的统计信息
    color_l=statistics.l_mode() #取感兴趣区域内的LAB的L通道的众数
    color_a=statistics.a_mode() #取感兴趣区域内的LAB的A通道的众数
    color_b=statistics.b_mode() #取感兴趣区域内的LAB的B通道的众数
    print(color_l,color_a,color_b)#将获取到的值打印出来
    img.draw_rectangle(ROI)       #在感兴趣区域上画边框



返回MicroMV目录页面