Statistiken zur Verwendung von Bildern
Was ist, wenn ich die durchschnittliche Farbe in einem Bereich oder die Farbe wissen möchte, die den größten Bereich einnimmt?
Statistiken nutzen – Statistiken!
ROI-Region von Interesse
\ Das Format von roi ist ein Tupel von (x, y, w, h).
- x: x-Koordinate der oberen linken Ecke des ROI-Bereichs
- y:y-Koordinate der oberen linken Ecke des ROI-Bereichs
- w: Breite des ROI
- h: Höhe des ROI
Statistics
image.get_statistics(roi=Auto)
wobei roi der Zielbereich ist. Beachten Sie, dass Parameter wie ROI und Bins hier explizit markiert werden müssen, zum Beispiel:
img.get_statistics(roi=(0,0,10,20))
Wenn es img.get_statistics((0,0,10,20)\ ist, funktioniert ROI nicht.
Statistics.mean() gibt den Mittelwert(0-255) (int) von Graustufen zurück. Sie können es auch über Statistiken[0] abrufen.
Statistics.median() gibt den Median(0-255) (int) der Graustufen zurück. Sie können es auch über Statistiken[1] erhalten.
Statistics.mode() gibt den Modus(0-255) (int) von Graustufen zurück. Sie können es auch über Statistiken[2] erhalten.
Statistics.stdev() gibt die Standardabweichung(0-255) (int) von Graustufen zurück. Sie können es auch über Statistiken[3] erhalten.
Statistics.min() gibt den Mindestwert(0-255) (int) der Graustufen zurück. Sie können es auch über Statistiken[4] erhalten.
Statistics.max() gibt den Maximalwert(0-255) (int) der Graustufen zurück. Sie können es auch über Statistiken[5] erhalten.
Statistics.lq() gibt das erste Quartil(0-255) (int) der Graustufen zurück. Sie können es auch über Statistiken[6] erhalten.
Statistics.uq() gibt den dritten vierten Bruch(0-255) (int) der Graustufen zurück. Sie können es auch über Statistiken[7] erhalten.
Der obere Wert ist der Graustufenwert und der nächste ist der Graustufenwert
- 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,
Dabei handelt es sich um den Mittelwert, den Median, den Modus, die Standardabweichung, den Minimalwert, den Maximalwert, den ersten vierstelligen Wert und den dritten vierstelligen Wert der drei LAB-Kanäle.
Beispiel
Erkennt den Farbwert im oberen linken Bereich.
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)
Ergebnis:
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