画像使用に関する統計
領域内の平均の色、または最大の領域を占める色を知りたい場合はどうすればよいですか?
統計を使用する - 統計!
ROI 関心領域
\ roi の形式は (x, y, w, h) のタプルです。
- x: ROI 領域の左上隅の x 座標
- ROI エリアの左上隅の y:y 座標
- w: ROIの幅
- h: ROIの高さ
Statistics
image.get_statistics(roi=Auto)
ここで、roi はターゲット領域です。ここでの roi や bins などのパラメーターは 明示的に マークする必要があることに注意してください。次に例を示します。
img.get_statistics(roi=(0,0,10,20))
img.get_statistics((0,0,10,20)) の場合、ROI は機能しません。
statistics.mean() は、グレースケールの 平均(0-255) (int) を返します。統計[0] からも取得できます。
statistics.median() はグレースケールの median(0-255) (int) を返します。統計[1] を通じて取得することもできます。
statistics.mode() は、グレースケールの mode(0-255) (int) を返します。統計[2]からも取得できます。
statistics.stdev() は、グレースケールの 標準偏差(0-255) (int) を返します。統計[3]からも取得できます。
statistics.min() は、グレースケールの 最小値(0-255) (int) を返します。統計[4]からも取得できます。
statistics.max() は、グレースケールの 最大値(0-255) (int) を返します。統計[5]からも取得できます。
statistics.lq() は、グレースケールの 第 1 四分位(0-255) (int) を返します。統計[6]からも取得できます。
statistics.uq() は、グレースケールの 3 番目の 4 番目の分数(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 の 3 つのチャネルの平均、中央値、最頻値、標準偏差、最小値、最大値、最初の 4 桁のスコア、および 3 番目の 4 桁のスコアです。
例
左上の領域のカラー値を検出します。
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