Статистика использования изображений
Что, если я хочу узнать средний цвет в определенной области или цвет, занимающий наибольшую площадь?
Используйте статистику - Статистика!
Интересующая область рентабельности инвестиций
\ Формат roi представляет собой кортеж (x, y, w, h).
- x: координата x верхнего левого угла области интереса
- Координата y:y верхнего левого угла области интереса
- w: ширина области интереса
- h: высота рентабельности инвестиций
Статистика
image.get_statistics(roi=Auto)
где roi — целевая область. Обратите внимание, что такие параметры, как рентабельность инвестиций и интервалы, здесь должны быть явно отмечены, например:
img.get_statistics(roi=(0,0,10,20))
Если это img.get_statistics((0,0,10,20)), рентабельность инвестиций не будет работать.
статистика.mean() возвращает среднее(0-255) (int) оттенков серого. Вы также можете получить его через статистику[0].
статистика.медиан() возвращает медиану(0-255) (int) оттенков серого. Вы также можете получить его через статистику[1].
статистика.mode() возвращает режим(0-255) (int) оттенков серого. Вы также можете получить его через статистику[2].
статистика.stdev() возвращает стандартное отклонение(0-255) (int) оттенков серого. Вы также можете получить его через статистику[3].
статистика.min() возвращает минимальное значение(0-255) (int) оттенков серого. Вы также можете получить его через статистику[4].
статистика.max() возвращает максимальное значение(0-255) (int) оттенков серого. Вы также можете получить его через статистику[5].
статистика.lq() возвращает первый квартиль(0-255) (int) оттенков серого. Вы также можете получить его через статистику[6].
статистика.uq() возвращает третью четвертую дробь(0-255) (int) оттенков серого. Вы также можете получить его через статистику[7].
Верхний — это значение оттенков серого, а следующий —
- 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,
Это среднее значение, медиана, мода, стандартное отклонение, минимальное значение, максимальное значение, оценка первого квартиля и оценка третьего квартиля трех каналов LAB.
Пример
Определяет значение цвета в верхней левой области.
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)
результат:
Терминал
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