Estatísticas para utilização de imagens

E se eu quiser saber a cor média de uma área ou a cor que ocupa a maior área?

Use estatísticas - Estatísticas!

Região de interesse do ROI

\ O formato de roi é uma tupla de (x, y, w, h).

  • x: coordenada x do canto superior esquerdo da área ROI
  • coordenada y:y do canto superior esquerdo da área ROI
  • w: largura do ROI
  • h: altura do ROI

Statistics

image.get_statistics(roi=Auto)

onde roi é a área alvo. Note que parâmetros como roi e bins aqui devem ser marcados explicitamente, por exemplo:

img.get_statistics(roi=(0,0,10,20))

Se for img.get_statistics((0,0,10,20)), o ROI não funcionará.

  • stats.mean() devolve a média(0-255) (int) da escala de cinzentos. Também pode obtê-lo através de estatísticas[0].

  • stats.median() devolve a mediana(0-255) (int) da escala de cinzentos. Também pode obtê-lo através de estatísticas[1].

  • stats.mode() devolve o mode(0-255) (int) da escala de cinzentos. Também pode obtê-lo através de estatísticas[2].

  • stats.stdev() devolve o desvio padrão(0-255) (int) da escala de cinzentos. Também pode obtê-lo através de estatísticas[3].

  • stats.min() devolve o valor mínimo(0-255) (int) da escala de cinzentos. Também pode obtê-lo através de estatísticas[4].

  • stats.max() devolve o valor máximo(0-255) (int) da escala de cinzentos. Também pode obtê-lo através de estatísticas[5].

  • stats.lq() devolve o primeiro quartil(0-255) (int) da escala de cinzentos. Também pode obtê-lo através de estatísticas[6].

  • stats.uq() devolve a terceira quarta fracção(0-255) (int) da escala de cinzentos. Também pode obtê-lo através de estatísticas[7].

O superior é o valor da escala de cinzentos e o seguinte é

  • 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,

É a média, mediana, moda, desvio padrão, valor mínimo, valor máximo, primeira pontuação de quatro dígitos e terceira pontuação de quatro dígitos dos três canais do LAB.

Exemplo

Deteta o valor da cor na área superior esquerda.

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)               # Create a clock object to track the FPS.

ROI=(80,30,15,15)

while(True):
    img = sensor.snapshot()         # Take a picture and return the image.
    statistics=img.get_statistics(roi=ROI)
    color_l=statistics.l_mode()
    color_a=statistics.a_mode()
    color_b=statistics.b_mode()
    print(color_l,color_a,color_b)
    img.draw_rectangle(ROI)

resultado:

terminal

56 66 51
56 66 55
56 66 51
56 66 51
56 66 51
56 66 51
56 66 51
56 66 51
56 66 51
56 66 51
56 66 51
56 66 51
56 66 51
56 66 51
56 66 51
56 66 51
56 66 55
56 66 51
56 66 51
56 66 51
56 66 51
56 66 51

results matching ""

    No results matching ""