颜色统计

图像统计函数

image.get_statistics(roi=Auto, bins=Auto, l_bins=Auto, a_bins=Auto, b_bins=Auto)

函数功能描述

Computes the mean, median, mode, standard deviation, min, max, lower quartile, and upper quartile for all color channels for an roi and returns a statistics object.

函数用于计算图像的统计信息, 返回的类型是statistics 类. statistics对象的内容包括

计算图像像素点取值的平均数, 中位数, 众数, 标准差, 最小值, 最大值, 四分之一分数lower quartile, 第四分之三分数upper quartile. 标准差等.

什么是四分之一分数 / 四分之三分数

就是说, 将所有的像素值, 从小到大由徐排列, 平均分成了四等份

排在第一个等份与第二个等份之间的那个数值是lower quartile 也就是四分之一分数

排在第三个等份与第四个等份之间的那个数值是upper quartile , 也就是四分之三分数

举例来讲:

quartile

参数

这里先来讲一下什么叫bins

bins 是间隔数的意思, 就是说区值范围是0-255, 如果每一个单独的像素值都做统计的话, 得到的是一个稀疏的统计结果.

所以我们需要把值域范围划分为若干个小格子, 也就是bins , 去单独统计, 落在每个区间内的像素点的个数.

举个例子来讲, 如果bins=5的话, 窗口被平均划分为宽度为51的格子(平均)

bins index start end
1 0 50
2 51 101
3 102 152
4 153 203
5 204 255

如下图所示, 其实是两个极端情况, bins取太多, 与bins取太小的情况.

随着bins的取值, 反映在条形图的高度和宽度不同.

statistic_bins

roi : tuple

region-of-interest 感兴趣区域

一张图片, 选择其中一块子区域做图像统计,而不是整体, 这时候就需要用得到roi

roi 的组成为 (x, y, w, h) 关于roi的详细描述, 见 ROI详解

bins : int

用于灰度 GRAYSCALE 模式下, 彩图勿用

l_bins : int

用于彩色图 RGB565 模式下, 灰度图勿用

LAB 颜色空间中 L值, 也就是亮度的统计窗口划分个数

a_bins : int

用于彩色图 RGB565 模式下, 灰度图勿用

LAB 颜色空间中 A值的统计窗口划分个数

A如果是正数代表红色, 负端代表绿色

b_bins : int

用于彩色图 RGB565 模式下, 灰度图勿用

LAB 颜色空间中 B值的统计窗口划分个数

B 正数代表黄色, 负端代表兰色.

Statistics

灰度图统计返回对象

statistics stat

序号 访问方式 含义
0 stat.mean() 平均数
1 stat.median() 中位数
2 stat.mode() 众数
3 stat.stdev() 标准差
4 stat.min() 最小值
5 stat.max() 最大值
6 stat.lq() 四分之一分数
7 stat.uq() 四分之三分数

彩色图统计返回对象

序号 访问方式 含义
0 stat.l_mean() L通道的平均数
1 stat.l_median() L通道的中位数
2 stat.l_mode() L通道的众数
3 stat.l_stdev() L通道的标准差
4 stat.l_min() L通道的最小值
5 stat.l_max() L通道的最大值
6 stat.l_lq() L通道的四分之一分数
7 stat.l_uq() L通道的四分之三分数
8 stat.a_mean() A通道的平均数
9 stat.a_median() A通道的中位数
10 stat.a_mode() A通道的众数
11 stat.a_stdev() A通道的标准差
12 stat.a_min() A通道的最小值
13 stat.a_max() A通道的最大值
14 stat.a_lq() A通道的四分之一分数
15 stat.a_uq() A通道的四分之三分数
16 stat.b_mean() B通道的平均数
17 stat.b_median() B通道的中位数
18 stat.b_mode B通道的众数
19 stat.b_stdev() B通道的标准差
20 stat.b_min() B通道的最小值
21 stat.b_max() B通道的最大值
22 stat.b_lq() B通道的四分之一分数
23 stat.b_uq() B通道的四分之三分数

Code


# Image Statistics Info Example
#
# This script computes the statistics of the image and prints it out.

import sensor, image, time

sensor.reset()
sensor.set_pixformat(sensor.GRAYSCALE) # or RGB565.
sensor.set_framesize(sensor.QVGA)
sensor.skip_frames(time = 2000)
sensor.set_auto_gain(False) # must be turned off for color tracking
sensor.set_auto_whitebal(False) # must be turned off for color tracking
clock = time.clock()

while(True):
    clock.tick()
    img = sensor.snapshot()
    print(img.get_statistics())
    print(clock.fps())

# You can also pass get_statistics() an "roi=" to get just the statistics of that area.
# get_statistics() allows you to quickly determine the color channel information of
# any any area in the image.
Copyright 杭州云江科技有限公司 2017 all right reserved,powered by Gitbook该文件修订时间: 2018-04-02 09:53:12

results matching ""

    No results matching ""