Vizyon Veri Mücadelesi - Python
Öğretmen Araç Kutusu
-
Vizyon Veri Mücadelesinin Amacı
Vision Data Challenge'ın amacı, öğrencilerin Vision Sensörünün anlık görüntüsünden toplanan verileri ve merkez X ve Y değerlerinin nasıl hesaplandığını anlamalarını sağlamaktır. Öğrencileriniz ayrıca bu laboratuvarı, söz konusu verilerin nasıl yorumlanabileceği (örneğin, merkez X değeri, nesnenin robotun merkez noktasına göre nerede olduğunu belirlemek için kullanılabilir) ve yapılandırma sırasında nesneleri adlandırma konusunda en iyi uygulamalar hakkında bir anlayışla tamamlamalıdır.

Soruları yanıtlayarak ve mühendislik defterinizdeki eksik verileri doldurarak Vision Data Challenge'ı tamamlayın.
- Yukarıdaki anlık görüntüyü almak için bu talimatlardan hangisi kullanılmıştır?
-
vision_5.take_snapshot(REDBOX) -
vision_5.take_snapshot(YELLOWBOX)
-
-
Şu değerleri girin:

- YELLOWBOX robotun merkez noktasının solunda mı yoksa sağında mı?
- YELLOWBOX robotun merkez noktasının üstünde veya altında mı?
- Hangi renk imzasının hangisi olduğunu kolayca anlamak istiyorsanız bu nesneye verebileceğiniz en iyi isim SARI KUTUDURNOT Hangisi daha iyi bir isim? Neden?
- YELLOWGEAR
- YELLOWCUBE
Öğretmen Araç Kutusu
-
Cevap
Öğrencilerin cevapları sınıfça tartışılabilir ve/veya aktiviteyi başarıyla tamamladıklarından emin olmak için mühendislik defterlerini inceleyebilirsiniz.
-
vision_5.anlık_görüntü_al(YELLOWBOX) 
- YELLOWBOX robotun merkez noktasının biraz solundadır ancak sadece 16,5 piksel farkla (merkez 157,5 - 141).
- YELLOWBOX, robotun merkez noktasından biraz daha aşağıdadır ancak yalnızca 5,5 piksellik bir farkla (111 - merkez 105,5).
-
A. SARI DİŞLİ
Bu daha iyi bir isimdir çünkü sadece nesnenin rengini değil aynı zamanda türünü de tanımlar. Bu bir dişli,değilbir kutu veya küp.
Öğreniminizi Genişletin
-
Bir Projede Algılama Talimatlarını Kullanın
Artık Görme Sensörü'nün bildirilen verilerinden bazıları daha iyi anlaşıldığına göre, öğrenciler bu Algılama Talimatlarını bir projede kullanmak isteyebilirler. Bunu yaparken keşfetmelerine izin verin.
def check_red_callback():
brain.screen.set_font(FontType.MONO40)
brain.screen.clear_row(3)
brain.screen.set_cursor(3, 1)
vision_5_objects = vision_5.take_snapshot(REDBOX)
if (vision_5_objects):
brain.screen.print("Kırmızı Nesne Bulundu")
brain.screen.next_row()
brain.screen.print("Algılanan Nesne Sayısı:", len(vision_5_objects))
brain.screen.next_row()
brain.screen.print("Merkez X:", vision_5.largest_object().centerX)
brain.screen.next_row()
brain.screen.print("Merkez Y:", vision_5.largest_object().centerY)
brain.screen.next_row()
brain.screen.print("Genişlik:", vision_5.largest_object().width)
brain.screen.next_row()
brain.screen.print("Yükseklik:", vision_5.largest_object().height)
brain.screen.next_row()
else:
brain.screen.print("Kırmızı Nesne Yok")Daha ileri seviyedeki öğrenciler, karar almak için bir proje içerisinde bu talimatları kullanabilirler.
while True:
drivetrain.drive(FORWARD)
vision_5_objects = vision_5.take_snapshot(REDBOX)
if (vision_5_objects) and (vision_5.largest_object().centerX < 157.5):
drivetrain.turn_for(LEFT, 90, DEGREES)
else:
drivetrain.turn_for(RIGHT, 90, DEGREES)
wait(5, MSEC)